Linux【指令大全】
一.常用指令
1.帮助指令
(1)man - 查看指令的使用手册
man mkdir ——查看mkdir的使用手册
(2)help - 查看指令的帮助手册
help cd ——查看cd命令的相关信息
(3)whatis 指令名称 —— 查看指令的作用
(4)whereis 指令名称 —— 获取指令相关内容所在位置
(5)which 指令名称 —— 指令对应的可执行文件所在的位置
2.文件目录指令
补充说明:
绝对路径:写文件或者文件夹路径的时候是从~或者/开始;
相对路径:1)写路径的时候用
.
表示当前目录,然后层层往下写(注意:如果路径是以../
开头的,./
则可以省略); 2)写路径的时候用
../
表示当前目录的上层目录,然后再层层往下写。
2.1 pwd ——查看当前目录的绝对路径
2.2 cd ——进入文件夹目录
cd /A ——进入 /a 文件目录下cd ~ ——切换到rootcd - ——切换到上一次访问的目录cd .. ——切换到当前目录的上一级
2.3 ls ——显示当前目录中的内容
ls - 直接显示当前文件夹中的内容的名字(隐藏文件和文件夹看不到)ls -l/-lh -显示当前文件夹中的内容和内容的基本信息(隐藏文件和文件夹看不到)ls -a - 显示当前文件夹中所有的内容(包括隐藏文件)ls -R - 递归显示当前目录以及当前目录下所有的子目录中的内容ls -r - 内容倒序显示ls -S/-t - 显示文件夹中的内容,并且内容按大小/时间从大到小排序
2.4 touch ——新建文件
touch a.txt - 在当前目录下新建一个文件a.txttouch ../a.txt - 在当前目录的上层目录新建一个文件a.txttouch /home/a/a.txt - 在根目录下home目录中的a目录里面创建一个文件a.txt
2.5 vim ——vim打开文件并编辑
vim 文件路径 - 使用vim打开文件
2.6 cat ——查看文件内容
cat 文件路径 - 读取指定路径对应的文件的内容
2.7 mkdir ——新建文件夹
mkdir -p a/b/c - a,b,c可以都没有,会在当前目录中创建a,在a中创建b,b中创建cmkdir -p a/{b,c} - a,b,c可以都没有,会在当前目录中创建a,在a中创建b和c
2.8 rm ——删除文件和文件夹
rm 文件路径 - 删除指定文件(删除的时候会询问是否确定删除,y-同意, n-不同意)rm -i 文件路径 - 删除指定文件(删除的时候会询问是否确定删除,y-同意, n-不同意)rm -f 文件路径 - 删除指定文件(删除的时候不询问)rm -r 文件夹路径 - 删除指定文件夹
2.9 rmdir ——删除目录(空目录)
rmdir 文件夹路径 - 删除指定文件夹(这个文件夹必须是空的)
3.0 cp ——拷贝
cp 文件路径1 文件路径2 - 将文件路径1指定的文件中的内容复制到文件路径2指定的文件中(文件路径2对应的 文件本身是不存在) - 将文件1中的内容复制粘贴到文件2(如果文件2不存,会自动创建;如果存在会询问 是否覆盖)cp 文件路径 文件夹路径 - 将指定文件复制粘贴到指定文件夹中cp -r 文件夹路径1 文件夹路径2 - 将文件夹1复制粘贴到文件夹2中
3.1 mv ——移动
mv 文件名1 文件名2 - 对文件进行重命名(将文件名1修改为文件名2)mv a.txt b.txt - 将当前文件夹中的a.txt重命名为b.txtmv /home/a.txt /home/b.txt - 将系统根目录下home文件中的a.txt重命名为b.txt
3.2 history ——查看历史指令
history - 显示当前系统已经执行过的所有的指令#如果想要显示历史记录的时候显示指令执行的时间需要修改~/.bashrc文件:export HISTTIMEFORMAT="[%y‐%m‐%d_%T] " # 修改完成后需要通过指令: source ~/.bashrc 去执行这个配置文件, 最后历史记录的时间才会生效
3.Linux快捷键指令
- ctrl+c:终止进程的执行
- ctrl+a:将光标移动到行首
- ctrl+e:将光标移动到行尾
- ctrl+w:删除光标所在位置的单词
- ctrl+u:删除光标前面的内容直到行首
- ctrl+k:删除光标后面的内容直到行尾
- ctrl+l:清屏(等同于clear)
4.创建连接
4.1创建软连接 —— ln -s
ln -s 源文件路径 软连接文件地址 - 给源文件在指定位置创建一个软连接(软连接本质就是用来保存源文件绝对地址的一个文件, 可以理解为windows中的快捷方式)
注意: 源文件路径必须写绝对路径
如果删除或者移动源文件,软连接会直接无效
4.2 创建硬链接—— ln
ln 源文件路径 硬连接文件地址 - 给源文件在指定位置创建一个硬链接
硬链接的本质就是源文件内容的另外一个引用,所以删除或者移动源文件硬
链接仍然有效,只是删除硬链接会变成普通文件
5.日志的管理
5.1.显示文件内容
(1) cat指令 - 直接显示文件中所有的内容
(2)cat 文件 —— 直接查看文件所有内容
(3)cat -n ——在显示的时候显示行号
总结: 查看文件内容的时候可以加参数-n,让内容在显示的时候显示行号
(4)查看部分内容
head N 文件地址 - 显示指定文件前N行内容(-n参数无效)
tail N 文件地址 - 显示指定文件最后N行内容(-n参数无效)
(5) 分页显示
less 文件 - 按页显示文件内容(通过快捷键控制内容显示过程; 文件内容不会打印到shell/终端里)
less -N 文件 - 按页显示文件内容,每次翻页的时候翻N行
more 文件 - 按页显示文件内容(通过快捷键控制内容显示过程; 文件内容会打印到shell/终端里)
more -N 文件 - 按页显示文件内容,每次翻页的时候翻N行
快捷键:- 按 j 向下一行- 按 k 向上一行- 按 f 向下翻一页- 按b 向上翻一页- 按 g 到全文开头- 按 G 到全文结尾- 按 Q 退出
5.2.结果的处理
凡是有的打印结果的指令,我们都可以通过相关指令对应结果进行处理
a. 管道 - |
如果需要对某一个指令的结果使用另外的指令进行二次处理的时候,就需要用到管道|
b. sort - 排序
sort - 从小到大排序(将一行内容作为一个字符串,按字符串大小对应内容进行排序,默认不区分大小写)
cat a.txt |sort # 对a.txt的文件内容从小到大排序显示sort的参数:-r - 逆序-nk 1 - 数值大小排序-nk 2 - 字符大小排序(默认)cat a.txt|sort -nk 1 # 对a.txt的文件内容按数字大小从小到大排序cat a.txt|sort -rnk 1 # 对a.txt的文件内容按数字大小从大到小排序cat a.txt|sort -nk 2 # 对a.txt的文件内容按字符大小从小到大排序(默认)cat a.txt|sort -rnk 2 # 对a.txt的文件内容按字符大小从大到小排序
c.uniq -去重
uniq - 只能将紧挨着的相同行去掉重复的(如果需要去掉所有重复的行,先排序将相同的行放到一起)
cat a.txt|uniq # 去掉a.txt文件内容中相邻重复的行cat a.txt|sort|uniq # 去掉a.txt文件内容中所有重复的行cat a.txt|sort|uniq -c - 将文件内容重复次数标注
d.awk - 获取列
awk ‘{print $N}’ - 获取内容中第N列的数据
history|awk '{print $2}' # 获取历史记录第2列的内容history|awk '{print $2,$3}' # 获取历史记录第2列和第3列的内容
练习:
# 按照学生年龄从大到小排序cat data,txt|awk '{print $2,$1,$3}' | sort -rnk 1# |awk '{print $2,$1,$3}' :获取2,1,3列数据# | sort -rnk 1:对文件内容按数字大小从大到小排序
# 统计最常用的3个指令及其使用次数history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3 # |awk '{print $4}':获取第四列内容# |sort |uniq ‐c :将文件内容重复次数标注#| sort ‐rnk 1 :对文件内容按数字大小从大到小排序#| head ‐n 3 : 显示指定文件前N行内容
5.3 >/>> ——输出重定向
执行有打印结果的指令 > 文件地址 - 将指定指令执行的结果保存到指定文件中(先清除原文件内容再添加)
执行有打印结果的指令 >> 文件地址 - 将指定指令执行的结果保存到指定文件中(直接将结果追加到原文件中)
history > a.txt #将当前历史记录直接保存到a.txt文件中# 将最常用的3个指令及其使用次数保存到a.txt文件中history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3 > a.txt
5.4 wc ——统计
1.wc -c/-w/-l 文件地址 —— 统计指定文件中字符/单词/行的数量(注意:统计字符数量的数量,会比实际数量多1,多的是\0这个结束标志字符串)2.有打印结果的指令 | wc -c/-w/-l
5.5 grep——查找
grep - 找内容
a. grep 内容 文件地址 - 在指定文件中查找指定内容(返回文件中所有包含指定内容的行)
grep you a.txt # 获取a.txt中包含you的所有的行grep的参数:-n - 显示结果的时候显示行号-i - 查找内容的时候忽略大小写-E - 按正则表达式进行匹配 使用方法: grep -E '正则表达式' 文件 注意: Linux操作系统中正则表达式不支持:\d,\D,\w,\W,\s,\S,\b,\B; 其他语法都支持;-v - 忽略字段 grep you a.txt -v # 获取a.txt中不包含you的所有的行
b. 执行有打印结果的指令 |grep 内容 - 在指令执行结果中查找指定内容
c. grep -r 内容 文件夹地址 -在指定文件夹中所有的文件中查找指定内容
6.用户管理
(1)users ——查看当前用户
(2) groups ——查看当前分组
(3) groupadd+分组名 —— 创建分组
注意:管理员才能创建; 可以通过查看/etc/group
文件来查看当前系统所有的分组。
(4) useradd+用户名——创建指定用户
注意:1.用户创建成功后系统会自动在/home目录下创建一个和用户名同名的文件夹;
2.会自动创建和用户名同名的分组,并且将当前用户添加到这个分组中。
(5)useradd + -G +分组1,分组2,… +用户名 ——创建指定用户,并且将用户添加到指定分组中
(6)usermod ±G +分组1,分组2 +用户名——修改用户分组
(7)password + 用户名——修改用户密码(需要root权限)
password ztt1 ——修改ztt1账户的密码(注意后面需要跟账户,不然修改的是root密码)
(8)su+ 用户名 —— 切换账号
注意:在root目录下切换账号不需要再输入密码,但是在其他账号下切换的时候需要输入账号密码
(9)sudo—— 以管理员身份执行指令
注意:不是所有的用户都可以通过sudo来以管理员身份执行指令,如果想要能够使用sudo必须添加配置。
(10)在contos中,需要 cat /etc/sudoers
中配置文件添加代码。
# Allow root to run any commands anywhereroot ALL=(ALL) ALL #(默认有的)# 在后面添加账户ztt1 ALL=(ALL) ALL#(自己添加的,ztt1是用户名)
注意:由于/etc/sudoers文件只有读的权限,在修改之前我们需要将权限修改为可读可写,添加完账号以后:wq
保存退出,并修改回原来的只读模式。
7.文件权限
7.1 r w x - 的意义
例如:- rw- r-- r--
文件类型 | 所有者权限 | 同组用户权限 | 其他用户权限 |
---|---|---|---|
d(目录) | 读(r-)写(W-)可执行(😆 | ||
-(文件) | |||
l(连接) |
说明:x x x xxx xxx| | |r W x或者- - -也就是说,每一组第一个只能是r或者-,第二个只能是w或者-,第三个只能是x或者-。
+表示添加权限, -表示删除权限;r-表示读权限,表示写权限,x表示执行权限
例子:
1.当前文件所有者有读和写的权限,同组用户只有读的权限,其他用户只有可执行的权限: -rw- r-- --x2.当前文件所有者有写的权限,同组用户有读和写的权限,其他用户有读和写的权限: --w- rw- rw-
默认情况下文件和文件夹的权限: 文件所有者有读写权限, 同组用户和其他用户都是只读权限。
7.2 chmod指令
(1)chmod +权限值 + 文件路径 —— 将指定文件的权限修改成指定值。
(2)chmod [a,u,g,o]/[±]/[r,w,x] 文件地址 —— 给指定文件对应指定用户添加或者删除指定权限。
a-所有用户u-文件所有者g-同组用户o-其他用户chmod a-x 文件地址 # 删除所有用户的执行权限chmod u+w 文件地址 # 给文件所有者添加写的权限
8.网络管理
(1)ifconfig ——查看网卡状态
(2)netstat -natp ——查看当前系统所有的网络连接状态
(3)netstat -natp |grep +端口号 ——查看指定端口对应网络连接状态
(4)ping 地址 ——给指定地址对应服务器发送数据(主要用来检测当前网络通不通)
ping www.baidu.com
(5)ping -i 时间(单位秒) 地址—— 每隔指定时间ping一次(时间可以是小数)
ping -i 0.1 www.baidu.com
(6)ping -c 次数 地址——ping指定次数(不限制次数的时候会不断的ping)
ping -c 3 www.baidu.comping -c 3 -i 0.1 www.baidu.com
(7)wget 地址—— 下载数据
wget https://www.baidu.comcat index.html
9.归档和压缩
9.1 tar ——归档和解归档
tar -cvf+归档文件地址+需要归档的原文件地址——将文件进行归档操作(既可以对文件进行归档也可以对文件夹归档)tar -xvf+需要解归档文件地址——将指定的归档文件解归档
9.2 gzip ——压缩和解压
gzip 文件地址 ——压缩指定文件(压缩后会生成一个gz文件,并且会删除原文件,放在当前文件夹内)gzip -c 文件地址 > 压缩文件地址——将指定文件压缩指定位置,并且保留原文件gzip -d 压缩文件地址——解压指定文件(解压完成后会删除原压缩文件,解压后的文件直接放在压缩文件所在的位置)gzip -l 压缩文件地址——列出压缩文件中的内容
9.3 gunzip——解压tgz文件
gunzip 压缩文件地址——解压指定文件(解压完成后会删除原压缩文件)
9.4 xz ——压缩与解压
xz+文件地址 —— 压缩指定文件(压缩文件后缀是xz)xz -d+压缩文件地址 ——解压指定文件
10.软件安装与包管理工具
1. yum ——包管理工具
(1)yum search:搜索软件包
(2)yum list installed:列出已经安装的软件包
(3)yum install:安装软件包
(4)yum remove:删除软件包
(5)yum update:更新软件包
(6)yum check-update:检查有哪些可以更新的软件包。
(7)yum info :显示软件包的相关信息
(8)yum erase 软件:卸载已经存在的软件
来源地址:https://blog.csdn.net/weixin_47005749/article/details/129288932