2.2、Linux常用命令
00 分钟
2024-6-25
Created
Jun 19, 2024 01:27 PM
Tags

Linux常用命令

一、文件处理命令
1、ls命令
名称:ls
作用:显示目录文件
格式:ls [-选项] [参数]
选项:-a 显示所有文件(包括隐藏文件)
  • l 显示详细信息
  • d 查看目录属性
  • h 文件大小显示为常见单位
  • i 查询文件的Inode号
  • R 递归显示目录及子目录
  • n 显示文件的UID和GID(用户和组的ID号)
2、touch命令
名称:touch
作用:创建空文件/更新文件修改和访问时间
格式:touch [文件名/目录名]1
—————————————注—————————————
·文件名不存在,创建空文件;文件名存在,更新文件访问时间,这个时间为虚拟机当中的时间
·touch命令只能创建普通文件
·touch {a..z} 可以一次性创建出文件名从a到z的文件
———————————————————————————
3、mkdir命令
名称:mkdir
作用:创建新目录文件
格式:mkdir [-选项] [参数]
选项:-v 显示创建过程
  • p 递归创建
4、cd命令 # 存在特殊符号代表的简化用法
名称:cd
作用:切换目录
格式:cd [目录名]
语法:cd [目录名] 默认进入此目录
简化:cd ~ 进入当前用户的家目录
cd - 进入上次目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd . 进入当前目录
5、pwd命令
名称:pwd
作用:显示当前目录
格式:pwd [目录名]
6、tree命令 # 在CentOS 7.x下需要安装后才能使用
名称:tree
作用:显示目录树
格式:tree [目录名]
选项:-d 只显示目录
# 6.5、pstree命令
名称:pstree
作用:查看进程树之间的关系
格式:pstree [-选项]
选项:-A 进程树之间的链接以ASCII码字符链接
  • p 同时列出每个进程的PID
  • u 同时列出每个进程的所属账号名称
—·拓展———————————————————————
·Tree命令安装过程(共4步)
找到目录 /dev/sr0;
挂载mount -t iso9660 /dev/sr0 /mnt/;# 各部分含义如下
mount 可用于挂载的命令
  • t 表示要指定块设备文件的文件系统类型
/dev/sr0 表示块设备文件绝对路径
/mnt/ 表示挂载点
找到tree命令rpm包 ls /mnt/Packages/tree(tab);
rpm -ivh /mnt/Packages/tree(tab)安装完成。# 各部分含义如下
rpm 可用于rpm包安装的命令
  • i 表示安装
  • v 表示显示详细信息
  • h 表示用#表示安装进度
/mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 表示rpm包位置
·相对路径和绝对路径
# 在路径中~表示当前用户家目录;.表示当前目录。
绝对路径:所有以根(/)为起始的路径表达方式。
相对路径:所有不以根(/)为起始的路径表达方式。
·进程
进程,指正在运行的程序。
进程号(PID) 系统为了防止搞混,赋予每个进程的唯一不重复的号码,通过进程号对应进程名称。
——————————————————————————
7、cat命令
名称:cat
作用:显示文件内容
格式:cat [文件名]
选项:-n 列出行号
语法:cat [文件名A] [文件名B] 显示多个文件内容
—·拓展———————————————————————
echo命令
名称:echo
作用:输出内容到命令行中
格式:echo "内容"
重定向用法:echo "内容" > [文件] # 内容覆盖文件原内容
echo "内容" >> [文件] # 内容添加至原有内容之后
# 如果文件名是新文件,此用法会直接创建一个包含内容的文件,区别于touch命令创建空白文件
———————————————————————————
8、cp命令 # 通过输入改变的目标文件名可复制并改名
名称:cp
作用:复制、复制并改名
格式:cp [-选项] [源目录/文件] [目标目录/文件]
选项:-n 列出行号
  • r 复制目录
  • p 保留文件属性
  • a 相当于-rp
9、mv命令
名称:mv
作用:剪切、改名
格式:mv [源目录/文件] [目标目录/文件]
10、rm命令 # 防止误删,必须使用绝对路径
名称:rm
作用:删除目录或者文件
格式:rm [-选项] [文件名/目录名]
选项:-r 删除目录
  • f 强制删除
# 强制删除当前目录所有文件 → “rm - rf ./*”
11、rmdir命令
名称:rmdir
作用:删除空目录
# 较rm命令来说不常用,可用于删除占inode号资源的多余空目录,防止误删数据
格式:rmdir [-选项] [文件名]
选项:-r 递归删除空目录
  • v 显示指令执行过程中
—·回顾———————————————————————
·文件系统
block 文件系统中存储数据的最小单元,ext3文件系统中,创建时默认4k,分为存储文件数据的data block和存储目录数据的directory block。
Inode 又称“索引节点”,每一个inode对应一个文件或目录,记录了文件的大小、所占用的block以及目录的directory block信息。
Inode Bitmap 翻译成中文的意思是“inode位图”,用二进制的方式记录了inode的使用情况。
Block Bitmap 翻译成中文的意思是“块位图”,同“inode位图”,用二进制记录了块的使用情况。
·复制、剪切、删除在文件系统中的原理
复制 在找到源文件的Inode号和源文件的Block块之后为目标文件分配新的Inode号及新的Block块,将源Block中数据复制到目标Block中。
剪切 同分区下只需改变路径,保留源文件的Inode号和Block块。这就是有时剪切比复制快的原因。跨分区情况即需分配新的Inode号及新的Block块。
删除 找到文件的Inode号和Block块,在Inode Bitmap和Block Bitmap中将其状态从已使用改为可使用
———————————————————————————
12、more命令
名称:more
作用:分页显示文件内容
格式:more [文件名]
类型:交互式命令2
交互:b 向上翻页
空格 向下翻页
Enter 换行
Q/q 退出
# 与cat命令不同的是,more可以一次多页查看,cat命令在查看文件内容超过一页时会默认打开最后一页
13、less命令
名称:less
作用:分行显示文件内容
格式:less [文件名]
类型:交互式命令
交互:支持关键字查找
14、head命令
名称:head
作用:查看文件头部制定行
格式:head [-选项] [文件名]
选项:-n 行数 查看文件头部制定的第n行
语法:head [文件名] 默认显示文件开头10行
15、tail命令
名称:tail
作用:查看文件尾部制定行
格式:head [-选项] [文件名]
选项:-n 行数 查看文件头部制定的第n行
  • f 持续显示文件变化情况
语法:tail [文件名] 默认显示文件最后10行
16、Ln命令
名称:ln
作用:创建链接文件
格式:ln [-选项] [源文件名] [目标文件名]
选项:-s 创建符号链接 # 符号链接即软链接
语法:In [文件名] 默认创建硬链接
—————————————注—————————————
·硬链接
1. 每创建一次硬链接,文件的链接数量+1,每删除一次,链接数量-1;
2. 在文件链接数量为1时,进行删除为彻底删除;
3. 互为硬链接的文件,修改任意一个其余文件均会发生变化;
4. 硬链接不能跨分区创建;
5. 不能对目录创建硬链接。
·符号链接
1. 软链接文件类型为l,权限默认最大;
2. 在创建软链接时要使用绝对路径;
3. 修改源文件,软链接可以查看到变化。修改软链接,源文件可以查看变化;
4. 软链接删除,源文件不受影响。源文件删除,软链接变为失效状态;
5. 软链接可以跨分区创建。
6. 目录可以创建软链接,目录是否是软链接要根据文件所在上级目录进行判断。
———————————————————————————
17、useradd命令
名称:useradd
作用:创建新用户
二、权限管理命令
18、chmod命令
名称:chmod
作用:修改文件的权限模式
格式:chmod [权限模式] [文件]
举例:
chmod u+x [文件]
chmod g+w,o+w [文件]
chmod u=rwx [文件]
chmod 644 [文件]
所有人增加执行权限
所属组、其他人增加写权限
所有人改为最高权限
权限分别改为6、4、4
—·拓展———————————————————————
权 限
·用户身份
⮚ u 代表所有者(user)
⮚ g 代表所属组(group)
⮚ o 代表其他人(other)
⮚ a 代表全部身份(all)
·权限分类
数字权限对应
⮚ r 读取权限(read)
⮚ w 写权限(write)
⮚ x 执行权限(execute)
4
3
1
·赋予方式
+ 增加权限
  • 去除权限
= 设置权限
权 限 位
第一位:代表文件类型
  • 普通文件
d 目录文件
l 链接文件
b 块设备文件
c 字符设备文件 # e.g.鼠标
s 套接字
p 管道
其余九位:代表不同用户身份权限
e.g. rwxrwxrwx、777、rw-r--r--
———————————————————————————
19、chown命令
名称:chown
作用:修改文件/目录的所有者、所属组
格式:chown user1: user2 [文件名]
语法:chown user1 [文件名]
chown : user2 [文件名]
20、chgrp命令
名称:chgrp
作用:改变文件/目录的所属组
格式:chgrp [用户组] [文件或目录]
21、umask命令 # 输入后临时生效
名称:umask
作用:显示和设置掩码值
格式:umask 0022
# 对目录和文件生效,在默认掩码为0022下文件的最大权限缺省为644,目录的最大权限为755
三、查找命令
22、whereis命令 #可找到包含字符的所以文件
名称:whereis
作用:查找命令及帮助文档所在位置
格式:whereis 命令
举例:whereis ls
23、alias命令
名称:alias
作用:设置别名
格式:alias 命令行输入=‘实际执行命令’
举例:alias ll=‘ls -l’
24、locate命令 #可找到具体名称的具体文件
名称:locate
作用:按照文件名查找文件
格式:locate [文件名]
原理:按照数据库查找
# updatedb命令
名称:updatedb
作用:强制更新数据库(第一次输入会创建数据库)
# 如果在updatedb之前创建文件,在执行locate查找文件是没有刚刚创建的文件的,因为没有更新到数据库中
25、find命令
名称:find
作用:搜索系统中符合条件的文件
格式:find 搜索路径 [-选项] 搜索内容
选项:① -name 根据文件名查找
find /root/ -name “aaa[1-5]”
find /root/ -name “aaa[135]”
aaa1到aaa5
aaa1或aaa3或aaa5
—·拓展———————————————————————
·通配符
[]
{1..9}
[a..z]
任意多个字符
任意一个字符
指范围值,外侧加引号
指从1到9
指从a到z
·touch命令创建多个文件 → touch ./abc{1..9}
———————————————————————————
② -size 根据文件大小查找
find ./ -size -10k
find ./ -size -10M
find ./ -size +10G
查找小于10k的目录或文件
查找小于10M的目录或文件
查找大于10G的目录或文件
③ -user 根据所有者查找
find / -user root
查找/下所有root用户的文件
④ -perm 根据文件权限查找
find /boot -perm 644
查找/boot下权限为644的文件
⑤ -按时间查找
find /etc -mmin -120
find /etc -ctime +7
查找120分钟之内内容被修改过的文件
查找7天之前属性被修改过的文件
————————————注————————————
·时间
:ctime atime mtime
分钟:cmin amin mmin
c(change) 表示属性被修改过 # 所有者、所属组、权限
a(access) 被访问# 被查看过
m(modify) 表示内容被修改过
—————————————————————————
⑥ -逻辑连接符 # -a逻辑与(and)、-o逻辑或(or)
find /etc -size +1k -a size -10k
find /etc -type f -a size -1k
查找大于1k小于10k的文件
二进制文件中小于1k的文件
⑦ -命令执行连接符(对查找的文件进一步处理)
格式:find … -exec 命令 {} \;
————————————注————————————
·-exec后各符号含义
{}
\
;
表示find查询的结果集
转义符,不使用命令别名
表示语句结束
# -exec能使用ls、rm、mv、cp
—————————————————————————
⑧ -inum 根据i节点查询
find ./ -inum 2312906 -exec rm {} \;
表示删除查找到inode号为2312906的文件
# xargs命令
名称:xargs
作用:把前一个命令输出的结果当成多个参数
# xargs可执行ls、rm,e.g. find / -name "aaa*" | xargs rm -rf
26、grep命令 # “字符串”文件名,e.g. 命令所在路径:/bin/grep
名称:grep
作用:在文件内查找符合条件的字符串行
选项:-v 反向选择
  • i 忽略大小写
—·拓展———————————————————————
·管道符
命令1 |命令2
将命令1的标准输出作为命令2的标准输入
———————————————————————————
四、帮助命令
27、man命令
名称:man
作用:查看命令的帮助
28、help命令
名称:help
作用:查看内置命令的帮助信息
格式:help 内置指令
# 通过[type 命令]可以查看命令是否为内部命令,如果显示shell内嵌的命令就是内部命令,[命令 --help]可查看命令的常见选项
29、info命令 #比man更详细的帮助命令
名称:info
作用:查看命令的帮助(详细)
交互:Enter 进入子帮助页面 # 带有*标记
u 进入上层页面
n 进入下一个帮助小节
p 进入上一个帮助小节
q 退出
30、type 命令
名称:type
作用:查看命令类型(内置命令/外部命令)
举例:type cd
五、网络命令
31、ping命令
名称:ping
作用:测试网络连通性
选项:-c 指定ping次数
32、ifconfig命令
名称:ifconfig
作用:配置网络或显示当前网络接口的状态
# ifconfig命令只在图形界面可执行,字符界面可通过执行ipadd命令获取IP地址信息;root用户才可配置网络,进行下述操作。
  • bash:命令解释器
—·扩展———————————————————————
●临时修改IP地址
# 一旦重启就会失效
临时修改网卡IP地址 ifconfig [网卡名称] [IP地址]
修改后当前终端会终断,要重新使用新的IP地址进行连接。
ifconfig ens33 192.168.17.130 netmask 255.255.255.0
添加多个临时IP地址
创建ifconfig ens33:0 192.168.17.140 netmask 255.255.255.0 up
删除ifconfig ens33:0 del 192.168.17.140
●添加真实网卡
# 添加网络适配器
nmcli connection add con-name [网卡名称] type [接口类型] ifname [网卡名称]
nmcli connection add con-name ens37 type ethernet ifname ens37
  • **网卡文件路径 → ls /etc/sysconfig/network-scripts/网卡名称
●重新配置IP步骤
centos6操作系统
第①步 修改IP地址
ifconfig ens33 192.168.17.130 netmask 255.255.255.0
第②步 停止网卡→ifdown [网卡名称]
if down eth0
第③步 启动网卡→ifup [网卡名称]
if up eth0
centos7操作系统
第①步 修改IP地址
ifconfig ens33 192.168.17.130 netmask 255.255.255.0
第②步 重载网卡配置文件 nmcli connection load [网卡配置文件]
nmcli connection load /etc/sysconfig/network-scripts/ifcfg ens33
第③步 启动网卡 nmcli connection up [网卡名称]
nmcli connection up ens33
●网络
—— Centos7
systemctl stop network
systemctl start network
systemctl restart network
停止网络
启动网络
重启网络
—— Centos6
service network restart
重启网络
———————————————————————————
33、w命令
名称:w
作用:查询当前登录服务器的用户
显示内容:
  • 第一行 -
当前时间;持续运行时间;登录用户数量;1分钟,5分钟,15分钟前的平均负载
  • 第二行 -
用户名 TTY;登录终端 FROM;来源IP 登录时间;IDLE用户闲置时间;JCPU所有进程占用CPU时间;PCPU当前进程占用CPU时间;WHAT用户正在进行的操作
34、who命令
名称:who
作用:查询登录用户
35.last命令
名称:last
作用:列出登陆系统的相关信息
显示内容:
第一列:用户名
第二列:终端位置
第三列:登录IP或内核版本
第四列:开始时间
第五列:结束时间
第六列:持续时间
36、lastlog命令
名称:lastlog
作用:显示所有账号最后一次的登陆时间
37、write命令
名称:write
格式:write [用户名]
作用:给在线用户写信
写法:write root tty1
“发送内容”
ctrl+d 保存、发送
38、wall命令
名称:wall
作用:对所有在线用户广播
格式:wall [字符串]wall enter(回车) 字符串 ctrl+d
39、mail命令
名称:mail
作用:发信
格式:
发信:mail [用户名]
标题
内容
ctrl+d 结束、发送
收信: mail
h 列出邮件列表
q 退出
40、netstat命令
名称:netstat
作用:查看网络连接状态
选项:-t tcp协议
  • u udp协议
  • l 监听
  • n 以IP和端口的形式显示信息
  • a 显示所有选项
  • p 显示建立相关连接程序名
举例:
netstat -a | more 列出所有端口
netstat -at 列出所有tcp端口
netstat -au 列出所有udp端口
netstat -l 只显示监听端口
netstat -tlun 查看本机所有监听的端口
netstat -lt 列出所有监听tcp端口
netstat -lu 列出所有监听udp端口
—·拓展———————————————————————
·常见端口
20、21 ftp服务 文件共享
22 ssh服务 安全的远程连接
23 telnet
25 smtp 发信
110 pop3 收信
80 http
3306 mysql端口
3389 Windows终端端口
/etc/service 所有常见的端口
———————————————————————————
六、关机和重启命令
41、关机命令
poweroff 掉电关机
init 0 以0级别运行
shutdown -h now now也可以替换为具体时间
# shutdown +5 “system will shutdown after 5 minutes”
设定5分钟后关机,发给所有用户关机提示信息告知登录用户。
此命令执行五分钟后,登录的用户将退出登录,但系统并不会关闭。
需要自行shutdown -h now进行关机(C7此命令直接关闭系统)。
shutdown +2 -h "system will shutdown after 1 minutes"
#如果想要关闭系统并提示用户即将关机信息那么要执行此命令
—·拓展———————————————————————
·系统运行等级 => 0、、1、2、3、4、5、6
0
3
5
6
关机
字符界面
图形化界面
重启
———————————————————————————
42、重启命令
① shutdown -r now
② reboot
③ init 6
43、数据同步
sync命令
在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动将缓冲区的数据写入磁盘。只有用户需要非正常关机时,才需手动执行sync命令。
七、挂载命令
Linux系统一切设备皆文件。比如第一张光盘,会被自动识别为/dev/sr0(设备文件的命名方式是主设备号加次设备号。主设备号说明设备类型,次设备号说明是第几个设备),但此时的光盘还并不能正常的读取。需要先进行挂载而后才能进行正常的读取。需要指定挂载点并执行挂载命令。(不同的光盘之间需要重新挂载并指定挂载点才能正常使用)
44、mount命令
名称:mount
作用:查询系统中已经挂载的设备
格式:mount -t [文件系统类型] -o [特殊选项] [设备文件名] [挂载点]
—————————————注—————————————
·常见存储设备
/dev/sda1
/dev/sr0
/dev/cdrom
第一个scsi硬盘的第一个分区
光盘
光盘
·常见挂载点
见目录。
·-t [文件系统]
加入文件系统类型来指定挂载的类型,可用的文件系统有ext3、ext4、iso9660等。
·-o [特殊选项]
可以指定挂载的额外选项,比如读写权限,同步异步等。如不指定则默认值生效。
atime/moatime 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新。
async/sync 异步/同步,默认为异步。
auto/noauto 自动/手动,mount -a 命令执行时,是否会自动安装/etc/fstab文件内容。挂载默认自动。
defaults 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项。
exec/noexec 执行/不执行,设定是否允许在文件系统中执行可执行文件。默认是exec允许。
remount 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限。
rw/ro 读写/只读,文件系统挂载时,是否具有读写权限,默认是读写。
suid/nosuid 具有/不具有SUID权限,设定文件系统是否允许普通用户挂载。默认是不允许,只有root可以挂载分区。
usrquota 写入代表文件系统支持用户磁盘配额,默认不支持。
grpquota 写入代表文件系统支持组磁盘配额,默认不支持。
———————————————————————————
举例:
例一 mount查看挂载信息
/dev/sda1 on /boot type ext4 (rw)
例二 挂载硬盘分区,移动硬盘
mkdir /mnt/disk1
# 创建挂载点
mount /dev/sdb1 /mnt/disk1
# 挂载硬盘分区或者移动硬盘
例三 挂载光盘
mount -t iso9660 /dev/cdrom /mnt/cdrom
# /mnt/cdrom必须是已存在的目录
例四 挂载U盘
fdisk -l
# 查看当前系统下的存储设备,确认U盘的设备名称
mount -t vfat /dev/sdb1 /mnt/usb
# fat32格式的U盘挂载方式
  • t vfat fat32
  • t fat fat16
# Linux默认情况不识别NTFS格式
例五 挂载.iso文件
mount -o loop /root/CentOS-7-x86_64-DVD-1810.iso /mnt/
# 加入loop选项让文件以块设备方式进行挂载
例六 卸载
umount [设备名称或挂载点]
#所有挂载的设备卸载方式都一样
例七 挂载NTFS格式 # rz命令只在图形化界面可使用
yum -y install epel-release
yum -y install ntfs-3g
mount -t ntfs-3g /dev/sdb1 /media/
ls /media
  • 注意事项-
·同一个文件系统不应该重复挂载在不同的挂载点。
·同一个目录不应该重复挂载多个文件系统。
·作为挂载点,一定要是空白目录。
八、打包、压缩命令
# 归档和压缩文件的好处:节约硬盘的资源,加快文件的传输速率
45、tar命令
名称:tar
作用:文件的归档(打包)和压缩
格式:tar [选项] [压缩后生成文件] [打包文件]
选项:-c 创建文件
  • x 提取、解压还原文件
  • v 显示执行详细过程
  • f 指定备份文件
  • t 列出压缩中包括哪些文件,不解包,查看包中的内容
  • C 指定解压位置
举例:
例一 对/boot/grub目录打包并解包
① 打包
tar -cvf ./grub.tar /boot/grub(或tar cvf ./grub.tar /boot/grub/)
tar:从成员名中删除开头的“/”
# 解压时把绝对路径转换成相对路径
② 解压缩
tar -xvf ./grub.tar
③ 指定解压位置
tar -xvf ./grub.tar.bz2 -C /opt/
例二 把两个目录或目录加文件打包成一个软件包
mkdir /back
tar -cvf /bak.tar /boot/grub /back/ /etc/passwd
例三 在打包过程中跳过某个或多个文件
tar --exclude /root/back/grub -cvf /root/back.tar /root/back
例四 不解包;查看tar内容
tar -tvf ./grub.tar
·tar命令的不同归档压缩方式
选项:-z 以gzip方式压缩 # 扩展名:tar.gz
  • j 以bz2方式压缩 # 扩展名:tar.bz2
  • J 以xz方式压缩 # 扩展名:tar.xz
举例:
例一 创建、解压.tar.gz包
tar -zcvf ./etc.tar.gz /etc
tar -zxvf ./etc.tar.gz /etc
例二 创建、解压.tar.bz2包
tar -jcvf ./etc.tar.bz2 /etc
tar -jxvf ./etc.tar.bz2 /etc
#解压缩:tar -jxvf ./etc.tar.bz2 -C /opt ,即解压到opt目录下
例三 创建.tar.xz包
tar -Jcvf ./etc.tar.xz /etc
tar -Jxvf ./etc.tar.xz /etc
对比三种压缩比例:ll -h ./etc*
46、zip管理压缩文件
zip命令
名称:zip
作用:软件包解压缩
# zip是压缩程序、unzip是解压程序;
du -sh [目录名] —— 查看目录下所有文件及子目录全部大小
举例:
例一 zip ./all.zip *.jpg
# 将所有.jpg文件压缩成一个zip包
例二 zip -r ./grub.zip /boot/grub
# 压缩目录(-r)
例三 unzip ./grub.zip
# 解压缩
例四 unzip ./grub.zip -d /opt
# 指定解压目录(-d)
47、file命令
名称:file
作用:确定文件类型
格式:file [文件名]
# 文件系统中不根据后缀名识别文件类型
举例:
e.g. 用file查看文件的类型
file /etc/passwd——/etc/passwd : ASCII text

  1. Linux文件命名规则:① 除了/之外,所有字符都合法;② 有些字符最好不用(e.g.空格);③ 避免使用.作为普通文件开头(.开头会隐藏文件);④ Linux严格区分大小写;⑤长度不能超过255字符↩︎
  1. 非交互式命令:命令输入后就执行完成。
    1. 交互式命令:命令输入后仍需交互输入新的指令。↩︎
上一篇
Linux 基础知识 往期汇总
下一篇
<K8S> vol. 01 - kubernetes 组件