root
home 其他用户家目录
etc 系统配置目录
bin sbin 可执行二进制文件目录,sbin只有root可访问
opt 软件安装目录
usr 存放系统应用程序,/usr/local 本地管理员软件目录,用于yum安装软件
proc 内存的映射
mut 挂载存储设备,并能映射到指定路径
sys 系统相关
boot 引导文件目录
lib lib64 内核与核心依赖
dev 硬盘配置
tmp 存放各种临时文件
var 存放运行时需要改变数据的文件
lost found 当系统异常关闭时保存异常日志
media 多媒体
selinux 系统安全
cd 完整路径/相对路径 切换文件目录
/ 根目录ss
../ 父目录(可连续使用)
./ 当前目录
~ 用户家目录(root用户家目录在/root 其他用户分别在/home/ )
参数-a 显示隐藏文件
无目标路径则切换至家目录
mkdir 文件夹
创建文件夹
mkdir ~/sxt
mkdir /sxt
mkdir -p ~/a/b/c -p 自动创建多级父文件夹
mkdir ~/sxt{1,2,3}a 创建sxt1a,sxt2a,sxt3a文件
rmdir 文件夹
删除空文件夹
cp 文件/文件夹 目标路径
复制文件(夹)到目标路径下
cp -r haha ../ 参数r 表示文件夹表遍复制(将文件夹中的内容一起复制)
cp -f haha ../ 参数f 表示若存在重复文件则覆盖
cp -rf ~/aaa/* ../ 将aaa文件加下所有内容复制到父目录中 rf参数组合使用
cp aaa/bb* ../ 将aaa文件加下所有bb前缀的内容复制到父目录中
mv 文件/文件夹 目标路径
剪切文件(夹) 重命名(连同内容)
mv -f haha ../ 参数f 表示若存在重复文件则覆盖
mv haha hehe 相同目录下的移动也就是重命名
rm 文件(夹)
移除文件或文件夹
rm -f install.log 参数f 强制删除,不确认
rm -rf sxt 参数r 遍历删除文件夹
rm sxt* 支持模糊匹配,删除所有sxt开头的文件 ,一般用前后的*匹配
rm *.zip 输出zip结尾文件
touch 文件
创建文件(若已存在,则不再创建)
更新文件的元信息中的时间
ll 查看当前文件夹下的详细内容
ls -l --color=auto的别名
-a 参数查看隐藏文件显示
ls 查看当前文件夹下的内容
-a 参数查看隐藏文件显示
find 查找文件
find 文件夹 -name 文件名 在某文件夹下查找某文件路径
find 查找路径 -name p*(匹配文件名,适用通配) 在根目录下查找p开头的文件 *p 查找p结尾的文件
pwd 查看当前路径
stat 查看文件状态
Inode: 2097164 文件的物理位置编号(唯一)
Access: 2019-08-02 18:03:53.632972412 +0800 访问记录
Modify: 2019-08-02 18:03:24.688978095 +0800 数据修改记录(元数据随数据一同修改)
Change: 2019-08-02 18:03:24.688978095 +0800 元数据修改记录
touch会同时修改三个时间记录
du 查看某个文件或文件夹的大小
参数-a 能够查看到内部的文件信息
参数-h 格式友好
df 查看硬盘分区状况 参数-h 格式友好
cat 查看文档的最后一屏 tac 倒序显示第一页内容
head 查看文件的前若干行
head -N 文件 查看文件的前N行
tail 查看文档最后若干行
tail -3 file 查看文件最后3行
tail -f 文件 参数-f 实现监控文件的改变,注意这是一个持续状态
head -5 文件 | tail -2 组合使用查看第4,5行
more 和 less 分屏查看文档内容
回车 下一行
空格 下一页
b 上一页
h 帮助
q 退出
软链接
ln -s 文件 链接
软链接直接显示与源文件的链接
若源文件删除则软链接失效
显示ll时显示连接属性
硬链接
ln 文件 链接
硬链接与真实数据连接,指向物理地址
源文件删除不影响硬链接
硬链接不显示与源文件的链接
yum install 软件名 -y 安装软件
poweroff 关机
reboot 重启
shell 主机名(ip) 远程连接其他主机,也是外部工具远程调用的方式
exit 用户退出登录
who 查询系统当前登录用户
whoami 查看当前用户
pwd 查看当前位置
config 查看系统配置
ifconfig 查看网络配置
echo $PATH 查看环境变量
锁屏与解锁
ctrl+s 锁屏,但是可以输入
ctrl+q 解锁
命令查询网站https://man.linuxde.net/
type 命令 判断命令类型内部/外部/别称
cd is a shell builtin 内部命令
ping is /bin/ping 外部命令,存在文件位置
ll is aliased to `ls -l --color=auto‘ 别名
if is a shell keyword 关键字,非命令
help 命令 内部命令帮助
man 命令 外部命令帮助(可能需要yum安装)
yum install man -y
命令等级1-8
查看:回车 下一行 空格 下一页 b 上一页 h 帮助 q 退出
whereis 程序名 查找命令/程序的相关位置
file 路径
查看命令文件的格式
ELF:Unix通用命令或者可执行文件的格式
64-bit :64位
-bash: java: command not found 没有这个命令,命令错误或未安装
命令参数之间必须用空格隔开
命令及参数的大小写敏感
书写地址时尽量使用tab补齐
参数中若存在空格用""将参数括起来
" "会将字符串中变量转义 ‘ ’将字符串只识别为字符串
vi file 直接打开文件
vi +10 file 打开文档将光标定位到第10行
vi + file 打开文档将光标定位到最后一行
vi +/字符串 file 打开文档,将光标定位到搜索到的第一个匹配字符串上
编辑模式 通过esc键进入
输入模式 从编辑模式进入
i 当前字符之前
a 当前字符之后
o 当前字符下一行
I 行首
A 行尾
O 上一行
末行模式 从编辑模式通过 : 进入
光标跳转
G 光标跳行
G 光标跳至最后一行
30G 光标跳至指定行(行)
g 光标跳行
gg 光标跳至第一行
7gg光标跳转至第7行
w 光标跳转到下一个单词或特殊字符 (3w 向下跳3个字符)
b 光标跳转到上一个单词或特殊字符 (3b 向上跳3个字符)
^ 光标移动到行首
$ 光标移动到行尾
+- 光标下移上移
hjkl 光标上下左右移动
编辑操作
r 替换字符
r 字符 将当前光标所在字符替换成输入的字符
N r 字符 将从当前光标所在字符开始的N个字符替换为所输入的字符
dd 删除行
dd删除光标所在行
X dd 删除从光标所在行开始的X干行
dw 从光标位置开始,删除一个单词或特殊字符
注意是从光标位置开始的,光标在单词中间,前半部分不会删除
X dw 删除从光标位置开始的X个单词
u 恢复前一编辑操作
. 取消u的操作
x 剪切字符
x 剪切光标当前字符
N x剪切光标开始的N个字符
yy 复制行
yy 复制一行 到粘贴板
Xyy 复制X行 到粘贴板
yw 复制单词
yw 复制一个单词 到粘贴板
Xyy 复制X个单词或特殊字符,从当前字符开始 到粘贴板
p 粘贴 (不覆盖)可配合末行模式使用
字符:将粘贴板的字符插入到光标字符之后
单词:将粘贴板的单词插入到光标字符之后
行:将粘贴板的若干行插入到光标下一行或若干行
Xp 执行粘贴X次
P 粘贴 (不覆盖)可配合末行模式使用
字符:将粘贴板的字符插入到光标字符之前,不覆盖原先内容
单词:将粘贴板的单词插入到光标字符之前,不覆盖原先内容
行:将粘贴板的若干行插入到光标下一行或若干行
ZZ 退出编辑器
删除(剪切)
X d 删除第X行:
X,Y d 删除第X行到Y行数据
X.+Y d 删除第X行开始的Y行数据
复制
X y 复制第X行:
X,Y y 复制第X行到Y行数据
X.+Y y 复制第X行开始的Y行数据
查询
:/XXX 查找文本中XXX
N下一个,n上一个
替换
:s/XXX/YYY/ 将光标之后第一个查找到的XXX替换为YYY
:s/XXX/YYY/g 将光标所在行的所有XXX替换为YYY
:X,Ys/XXX/YYY/g 将X-Y行中所有XXX替换为YYY
:X,+Ys/XXX/YYY/g 将X及其下的Y行中所有XXX替换为YYY
:g/XXX/s//YYY/g 将全文中的XXX替换为YYY
set nu 设置行号 set nonu取消行号
退出
q 退出
w 写入
q!取消保存并退出
qw 保存退出
若未正常退出,需要删除 .文件名称.swp
末行模式输入命令,可以用来复制
yum install vim -y
linux互传
scp 文件 目标路径
远端拉到本地 scp root@192.168.163.100:/root/123.war /root(将远端123.war文件下载到本地)
本地文件发送到远端 scp /root/123.war root@192.168.163.100:/root/
参数-r 传输文件夹
scp复制文件会使得目标路径下的同名文件被覆盖
需要发送输入密码,可以通过免密码进行处理
linux传win
1 通过lrzsz 实现
yum install lrzsz -y
rz 接收win的文件
sz 向win发送文件
2 通过win安装ftp软件,远程连接实现
ifconfig 查看网络配置 其中eth0为网卡1的配置 lo为环网配置。
ping 测试主机是否与目标主机连通
虚拟机连接模式
桥接:与主机处于相同ip端,能被外网访问,ip与其他主机易冲突
网络地址转换NTP:主机作为路由,所有虚拟机作为子IP,外网无法访问虚拟机
hosts文件内置DNS解析
liunx中 /etc/hosts
win中的地址为C:\Windows\System32\drivers\etc\hosts
netstat 当前网络信息
-anp 查看详细信息
-r 查看核心路由表
-l 仅列出监听状态下的服务
telnet 查看目标端口是否连通 用户查看软件端口是否打开
需要安装yum install telnet -y
telnet ip 端口号
结果1:Connected to 192.168.163.11. 连接成功
结果2:Connection refused 对方端口防火墙屏蔽或者没有监听
连接成功后退出:
退出按下 ^]
输入quit或q 退出
http请求:curl -X GET http://www.baidu.com/ 得到html文本需要输出到文件中
wget 下载网络资源,html等
文件位置
/etc/passwd 保存用户信息及组信息
/etc/shadow 保存用户的密码信息
创建用户
useradd 用户名 创建用户,自动创建同名组
passwd 用户名 创建用户密码 需要两次输入确认密码
删除用户
userdel -r 用户名
修改用户,用户需离线才能执行
usermod -l 新用户名 旧用户名 修改用户名
usermod -L 用户名 锁定用户,无法登陆
usermod -U 用户名 解锁用户
用户切换
su 用户名
exit 退出切换
创建组命令:groupadd 组名
删除组命令:groupdel 组名
修改组名: groupmod -n 新组名 旧组名
查询用户所在组:groups 用户名 (若无参数则查询当前用户所在组)
为用户修改组或添加组,需要用户重新登录生效
usermod -g 组 用户 修改用户所属主组,只会将主组修改
usermod -G 组 用户 用户添加组
组信息文件位置:/etc/group 其中,自定义组的编号从500开始往后排
sudo使得其他用户具备root身份执行命令
执行格式:sudo 命令
以root身份执行命令,系统视为root用户执行
每15min验证一次身份
执行前需对/etc/sudoers只读文件修改,使得指定用户具备sudo权限
修改命令为visudo
进入文件后约99行位置添加以下内容,使得目标用户具备执行/usr/sbin目录下的所有命令
目标用户名 ALL=(root) /usr/sbin/*
ll命令获取的文件信息
drwxr-xr-x. 7 root root 4096 Nov 11 20:19 sysconfig
-r---w-r--. 1 yw yw 1150 Nov 23 20:13 123.py
lrwxrwxrwx. 1 root root 14 Aug 1 19:33 system-release -> 123.py
信息包括:前缀,文件个数 ,所属用户 ,所属组,占用空间,修改时间,文件名,链接信息
前缀说明
第一位为文件类型
d 文件夹 - 文件 l 软链接
UGO模型
2-4位:u 用户权限
5-7位:g 组权限
7-9位:o 其他用户权限
rwx权限
UGO每种权限对应一组rwx权限
r 读 w 写 x 执行(文件必须拥有此权限才能执行)
修改文件权限
文件所属信息修改
chown 用户:组 file 修改文件的所属用户及组
chown 用户 file 修改文件的所属用户
chgrp 组 file 修改文件所属组
以上命令适用root用户
参数-R 遍历修改文件夹及其子文件的权限
chmod 权限修改
chmod [ugo]+/-[rwx] file 分别为ugo加减权限,适用集中修改
例1:chmod ugo+rwx file 添加全部读写执行权限
例2:chmod o-wx file 去除其他用户的写与执行权限
chmod 700 file 通过数组执行权限修改
三位数字分别对应ugo三种权限对象
将xwx视为二进制的111,范围0-7
r权重4 w权重2 x权重1
0 ---,1 --x,2 -w-,3 -wx,4 r--,5 r-x,6 rw-,7 rwx
ps -ef 查看当前进程
UID所属用户
PID进程号
PPID父进程,若父进程关闭则改为父父进程
CMD为进程信息
ps -ef | grep xxx 查找xxx的进程号
kill -9 进程号 杀死指定进程
ps -aux 只查看当前用户的详细进程信息
top 查看实时的系统运行情况
jobs -l 查看当前终端中的后台进程
后台进程
格式:命令 & (实现命令后台执行,在新的子线程中执行,不会阻塞原线程)
后台进程执行一段时间后会被挂起
nohup 后台命令 (该命令不会被挂起)
nohup ping www. 163.com > 123 2>&1 &
重定向的命令需设成功失败两种输出方式,否则无法执行
重定向
将数据输出方向转到指定方向,默认输出控制台
> 覆盖输出 >> 追加输出
输出种类 1>> 标准输出(默认) 2>> 错误输出 后缀2>&1全部输出
ls ~/aaa 1> info 将标准的命令结果覆盖输出到info 文件中
ls ~/aaa 2>> info 将错误的命令结果追加输出到info 文件中
ls ~/aaa >>info 2>&1 无论是否错误都将结果输出到info 文件中
默认是使用当前进程,会造成进程阻塞,&后台进程执行
ping www.163.com >> 123 使用当前进程
ping www.163.com >> 123 & 使用后台子进程执行
输入重定向 cat < info 输入重定向,符号反向。
命令 > /dev/null 数据输出到 /dev/null 信息黑洞自动丢失
管道
将前面命令的结果传递给后面的命令
ps -ef | tail -3 查看检查前3行
原文:https://www.cnblogs.com/javaxiaobu/p/11702942.html