文件管理命令
1、ls
功能:显示指定目录内的文件列表,可通过选项控制显示内容的详细程度和颜色高亮
所在路径:/bin/ls
常用选项:
-a :显示指定目录内的所有内容(包含隐藏文件和特殊目录)
-l :显示每一个文件的详细信息(权限、所有者、所属组、修改时间等),可缩写为ll
-h :显示文件大小时,使用最合适的单位显示,常以-lh形式出现
-d :用来显示目录本身信息,而不显示目录内的文件列表,常以-ld形式出现
-i :显示文件索引节点号(inode),每个文件都拥有一个独一无二的索引节点号
ls -lsh #显示了每一个文件实际占用的磁盘空间大小{data block的独占性}
2、cd
功能:切换到指定的目录下
所在路径:属于shell内置命令,没有路径
常见用法
cd ~ | 切换到当前所在用户的目录下 |
---|---|
cd - | 切换到刚才所在的目录 |
cd . | 当前目录 |
cd … | 切换到上一级目录(父目录) |
3、pwd
功能:显示当前所在路径
所在路径:/bin/pwd
4、mkdir
功能:创建目录
所在路径:/bin/mkdir
常用选项:
- p :递归创建多级目录
5、rm
功能:删除指定文件或者目录
所在路径:/bin/rm
常用选项:
-i :删除已有文件或目录之前先询问用户
-f :不询问,强制删除
-r :递归处理,将指定目录下的所有文件与子目录一并处理
近义命令:rmdir 删除指定的空目录
6、touch
功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件
所在路径:/bin/touch
批量创建文件:
touch {a…z}.txt
touch a{0…9}
mkdir abc{1…9}
拓展:
echo “hello world.” >> a.txt
> 重定向:修改字符要输出的方向,将本来输出到屏幕上的信息,输出到指定文件内。
重难点:输出重定向
> #覆盖式重新定向写入 {执行单个尖括号时,一定要确定文件对象}
>> #追加式重新定向写入
cat -n
cat a.txt b.txt > c.txt #多文件合并
7、stat
功能:用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细
所在路径:/usr/bin/stat
常用选项:
- f :不再显示指定文件的详细信息,而是显示该文件所在文件系统的信息(文件系统类型、Block数量、Inode数量等)
8、cat
功能:连接文件并打印到标准输出设备上,cat经常用来显示文件的内容(内容大于1页的仅显示最后一页:自动滚屏)
所在路径:/bin/cat
常用选项:
- n :为每一行内容进行编号(从1开始)
- b :忽略掉空白行进行编号
9、more
功能:一个文本过滤器,以全屏分页的方式显示文本内容,可以使用内置按键控制显示内容
所在路径:/bin/more
交互选项 | 功能 |
---|---|
空格space | 向下翻页 |
回车enter | 向下翻行 |
b | 向上翻页 |
q | 退出文本 |
10、less
功能:作用与more相似,都是用来浏览文本内容的
所在路径:/usr/bin/less
常用选项:
- N:显示文本内容并显示行号
命令对比:more和less很相似,都是用来进行分屏/分页显示文本内容的,但是less要比more多一些交互按钮,以下是less模式下的一些交互按钮功能
交互按钮 | 功能 |
---|---|
PageUp(PaUp)&b | 向上翻页 |
PageDown(PaDn)&空格 | 向下翻页 |
Enter | 向下换行(每次只新增一行显示) |
/关键词 | 用于在less模式中进行关键词查询,并高亮显使用n和N快速向下向上定位到每一个关键词 |
q | 退出less模式 |
11、head
功能:显示指定文件的开头内容(默认显示前10行)
所在路径:/usr/bin/head
常用选项:
- n :显示指定文件的前n行(n换成数字)
12、tail
功能:显示指定文件的结尾内容(默认显示后10行)
所在路径:/usr/bin/tail
常用选项:
- n:显示指定文件的后n行
- f:显示文件最后10行,并且对文件处于监听状态,实时更新和通知文件尾部的变化(tailf = tail -f)
13、cp
功能:将一个或多个源文件复制到指定位置,默认情况下保留源文件名称,也可以改名
所在路径:/bin/cp
格式:cp 源文件 目标位置 #复制文件到指定位置
cp 源文件 目标位置/新文件名 #复制文件到指定位置并修改文件名
常用选项:
- d :当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
- p :复制文件时,保留源文件的属性
- r :递归处理,复制时将指定目录下的所有文件和子目录,子文件全部复制到指定位置
- a :相当于-dpr的集合,拥有三个选项的所有功能
14、mv
功能:将指定文件移动(剪切)到指定目标位置,默认情况下保留源文件名称,也可以改名
所在路径:/bin/mv
格式:mv 源文件 目标位置
mv 源文件 目标位置/新文件名
mv /root/源文件 /root/新文件名 #改名
常用选项:
- b :在进行文件移动时,若目标位置有同名文件存在,则将同名文件备份(备份文件名结尾有~标识)
可以直接使用y回答,提示虽然是覆盖,但会自动创建备份文件
总结:rm、cp、mv命令的相同选项
- i:该选项的作用是在对文件操作时是否询问用户
- f:该选项的作用是在对文件操作时直接跳过询问用户的步骤
15、ln
功能:为指定文创建软链接(符号链接)或者硬链接
所在路径:/bin/ln
常用选项:
-s :为指定的源文件创建一个符号链接文件(软链接),不加“-s”则创建硬链接
注意:创建链接时,要使用绝对路径
符号链接和硬链接区别:
符号链接(软链接)特征:
源文件和软链接各自拥有不同的Inode号和Block块数
两个文件不管修改哪一个均可同步
删除源文件,软链接失效;删除软链接,源文件无影响
软链接文件大小不受源文件变化而影响,仅仅记录源文件的位置信息(Inode)
软链接文件权限为:rwxrwxrwx,但最终生效的权限以源文件为准
软链接既可以链接文件,也可以链接目录,并且可以跨分区创建
硬链接特征:
源文件和硬链接文件拥有相同的Inode号和Block块数(实际为同一个文件)
两个文件不管修改哪一个均可同步
无论删除哪一个,都互不影响
不能对目录创建硬链接,并且不能跨分区创建
查询命令
1、which
功能描述:显示命令的绝对路径
所在路径:/usr/bin/which
2、whereis
功能描述:定位指定命令的二进制文件程序、源码文件和帮助手册页面等资源的位置
所在路径:/usr/bin/whereis
常用选项:
- b :定位指定命令的绝对路径
- m :定位指定命令的帮助手册路径(即man帮助手册文档位置)
- s :定位指定命令的源码文件路径
3、locate
功能描述:通过文件名进行文件位置查询 {locate命令进行文件查询并不是使用遍历的方式进行查找,而是事先创建好一个数据库,将所有文件的名称和对应路保存在了其中,当查询文件时,只需要对数据库查询即可,速度上来说非常迅速}
所在路径:/usr/bin/locate
命令格式:locate 关键词
常用选项:
- i :忽略查询对象的大小写
数据库文件:/var/lib/mlocate/mlocate.db
数据库更新:updatedb
# 建议每次查询前先更新下数据库
更新规则文件:/etc/updatedb.conf
#配置文件中记录一些忽略不更新的文件类型和目录
4、find
功能描述:在目录树种进行文件查询
所在路径:/bin/find
①根据名称查询
格式:
find /etc/ -name "*.txt"
- name 模式下默认精确查询,可以使用通配符进行模糊查询:
通配符号:
* :代表任意长度的任意字符{空}
? :代表一个任意字符{长度为1}
[ ] :每个中括号只能代表一个字符,字符范围取决于括号内指定的范围
# 匹配指定范围内的某一个字符
# - name 选项后的关键词需要使用 双引号
②按照大小
find /etc -size +5M
find /etc -size -5M
find /etc -size +4M -a -size -5M`
# - a 要求两个条件同时生效{and}
③按照归属
find / -user laow #查询文件所有者是指定用户的文件
find / -group laow #查询属于某用户组的文件
find / -nouser #查询文件没有所有者的文件(异常文件)
find / -nogroup #查询文件没有所属组的文件(异常文件)
④根据权限查询
find /etc/ -perm 777
- perm 模式可以查询出指定权限的文件,一般用来查询权限过大的普通文件
⑤根据类型查询
find /etc/ -type f
- type模式下可以查询出指定类型的文件 [ f:普通文件;d:目录文件;l:链接文件等 ]
⑥根据inode查询
find /etc/ -inum 262149
- inum 模式可以查询出所有inode相同的文件(查询硬链接文件)
⑦根据时间查询
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次内容修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(权限等)的最后一次修改时间。
wc -l filename # 统计行数
⑧多条件同时查询
find /etc/ -name -a -type f
- a :and的意思,将两个或两个以上的查询条件结合在一起进行文件查询(必须同时符合所有条件)
- o :or的意思,多个条件结合后,其中一条条件符合就算符合查询要求
⑨查询结果批处理
将 find 查询到的结果交给指定命令继续操作,以下两个连接符都能实现
-exec|-ok:格式固定,稍复杂
格式:find /etc -name "\*.txt" -exec rm {} \;
{} :存储了find查询的结果集
\ :当命令前有反斜杠时,执行的是命令本意,而不是命令的别名{取消了命令的别名}
; :作为结束符号
|xargs:格式较简单,但不支持带空格的文件
格式:find /etc/ -name "*.txt" |xargs rm
# find查询到符合条件的文件后,依次一个一个的传递到xargs命令后的命令2上
例:ls -l /etc | more #分页显示/etc目录下所有文件的长格式信息
ls -l /etc |xargs more #分页显示/etc目录下,每一个文件的内容{一个一个的依次显示}
管道符:|
作用:将前一个命令的结果,作为后一个命令的输入(可以理解为把查询结果保存成了一个文本)
举例:find /var/log/ -name "*.log" | grep --color=auto da
xargs命令:|xargs
作用:将前一个命令的结果,作为后一个命令的参数(所有符合条件的文件逐个传递给后面的命令)
举例:find /var/log/ -name "*.log" |xargs grep --color=auto da
5、grep
功能描述:在指定文件内根据一定条件查询符合条件的字符串
所在路径:/bin/grep
常用选项:
- i :在查询时忽略查询对象的大小写
- n :查询时,显示符合条件对象的所在行号
- v :查询时,将条件反转,反向查询
--color=auto:将符合条件的对象高亮显示
压缩命令
一、Windows和Linux通用:zip
解压缩:unzip *.zip
压缩:zip 压缩包名{生成的} 压缩对象{压缩谁}
常用选项:
- r 压缩目录时,连带目录内的所有子文件一起压缩
- d 将压缩包解压缩到指定目录下
例:unzip *.zip -d 目录
二、Linux常见压缩格式:.gz .bz2只能压缩文件,不能压缩目录{不能文件汇总-不能打包
1、gz:gzip
解压缩:gunzip file.gz
压缩:gzip file #不保留源文件
bz2:bzip2
解压缩:bunzip2 *.bz2
压缩:bzip2 file #不保留源文件
2、tar:包格式{文件汇总-没有压缩}
格式:tar -cvf *.tar file1 file2
- c #打包
- v #显示过程
- f #指定打包后的包名
(1)压缩(格式为: .tar.*)
tar -zcvf dll.tar.gz *
-z #调用gzip进行压缩
tar -jcvf dll.tar.bz2 *
-j #调用bzip2进行压缩
tar -Jcvf dll.tar.xz *
-J #调用xz压缩格式
(2)解压缩(格式为 .tar .tar.gz .tar.bz2 . tar.xz .tgz均可解压缩)
tar -xvf *
(-x可理解为自动调用相应格式解压缩)
tar -xvf *.tar.* -C 目录
-C 解压缩到指定位置:
帮助命令
1、man
功能描述:通过帮助手册显示命令的使用方式
命令格式:man command
常用选项:
-f:显示该命令有哪几个级别的帮助(有些可以显示对应配置文件的帮助)
帮助等级 | 含义 |
---|---|
1 | 命令的帮助信息(多数位普通用户能执行的命令) |
5 | 配置文件的帮助信息 |
交互模式快捷键
快捷键 | 功能 |
---|---|
上箭头 | 查看上一行 |
下箭头 | 查看下一行 |
PgUp | 向上翻页 |
PgDn | 向下翻页 |
g | 回到首页 |
G | 翻到尾页 |
q | 退出交互模式 |
/ | 在交互模式下根据指定关键词进行搜索 |
n | 查询完成后,可以使用n快速定位到下一个符合条件的关键词 |
2、help
功能描述:显示Linux内置命令相关帮助信息
命令格式:help command
常用选项:
-m:模拟man的格式显示帮助信息(鸡肋~)
拓展:–help选项
格式:ls --help
Linux中绝大多数的命令都可以是用–help作为选项显示帮助信息,只是显示的内容没有man和info全面而已。
3、info
功能描述:查看指定命令的帮助信息等
命令格式:info command
快捷键 | 功能 |
---|---|
上箭头 | 查看上一行 |
下箭头 | 查看下一行 |
PgUp | 向上翻页 |
PgDn | 向下翻页 |
Tab | 快速切换到下一个以*开头的节点 |
回车 | 进入到当前以*开头的节点内,查看详细信息 |
q | 退出info模式 |
? | 查看info所提供的的交互命令的帮助信息 |
p | 当处于某一节点内时,可以直接切换到上一个节点 |
n | 当处于某一节点内时,可以直接切换到下一个节点 |
关机重启
1、shutdown
功能描述:用来关机或者重启的命令
命令格式:shutdown [选项] 参数
常用选项:
-h :halt,发送关机信号,后面指定倒计时时长(now,1200)
-r :reboot,发送重启信号,后面指定倒计时时长(now,1200)
拓展:halt和poweroff
两个命令和shutdown -h 作用一致,都是用来关机的
2、reboot
功能描述:重启当前操作系统
命令格式:reboot
3、init
功能描述:临时修改操作系统的运行级别,可用来关机或重启
命令格式:init N
常用选项:
init 0 : 关机
init 6 :重启
总结:
关机:
shutdown -h
poweroff
init 0
halt
重启:
shutdown -r
reboot
init 6
网络命令
1、ifconfig
功能
1:查看网卡的相关信息(最小化没有此命令,需要安装net-tools软件)
2:临时修改网卡的网络参数
例:ifconfig ens33 192.168.88.121/24
lo=loopback{本地回环网卡} 作为本机数据通讯的一个环节{只在本机生效}
IP:127.0.0.1
Status #查看指定软件的运行状态
例:systemctl status NetworkManager
2、ip
功能
1:查看ip等网络资源信息
ip a = ip address show
2:临时配置ip等网络参数(重启失效)
ip address add 192.168.88.121/24 dev ens33
ip address add = ip a add
3:查看当前生效的网关信息
ip route show
3、ifup & ifdown
功能:单独针对某一网卡的启动关闭命令
例:ifup ens33 & ifdown ens33
4、ping
功能:通过ICMP协议探测网络中的主机是否能正常通信
选项:-c :用于指定ping的次数
例:ping -c 4 192.168.88.1
-s :指定探测时使用的数据包大小(最大65507)
5、netstat
功能:查看网络连接状态的命令,可以查看本机开启的端口(TCP/UDP),最小化是没有安装的。
选项:
-a:列出所有网络状态
-n:以数字方式显示IP和端口信息
-t:显示TCP协议对应信息
-u:显示UDP协议对应信息
-p:显示进程的进程号和进程名
-l:显示监听状态的连接
组合1:-antp TCP相关的连接进程
组合2:-tlunp TCP与UDP相关的连接进程
6、ss
功能:类似于netstat命令
例:ss -atu
7、write
功能:向指定的在线用户发送信息
8、wall
功能:向所有在线用户发送信息
例:
[root@localhost ~]# wall
hello
ctrl + d #使用组合键才能发送信息
9、mail
功能:给指定用户发送邮件信息,以及接收邮件信息
例:mail zhanhsan
Hello
ctl+d 发送
系统资源查看命令
1、w
功能:查询当前登录服务器的用户
第一行:当前时间 持续运行时间 登录用户数量,1分钟,5分钟,15分钟 前的平均负载
第二行:用户名 TTY:登录终端 FROM:来源IP 登录时间
IDLE:用户闲置时间
JCPU:所有进程占用cpu时间
PCPU:当前进程占用cpu时间
WHAT:用户正在进行的操作
tty *:本地登录
pts/* :远程登录
2、who
功能:查询登录用户
命令所在路径:/usr/bin/who
执行权限:所有用户
3、last
功能:列出所有登录过系统的相关信息
命令所在路径:/usr/bin/last
执行权限:所有用户
4、lastlog
功能:显示所有账户最后一次的登录时间
命令所在路径:/usr/bin/lastlog
执行权限:所有用户
5、lastb
功能:查看登录错误的信息(登录失败信息)
挂载命令
挂载:使存储设备和挂载点建立连接的过程
存储设备:U盘或移动硬盘都会被识别为/dev/sd
常见存储设备:/dev/sda1 第一个scsi硬盘的第一个分区
/dev/cdrom 光盘(以前命名)
/dev/sr0 光盘
挂载点:做挂载点的目录一定是空目录
常见挂载点:/mnt
/media
/cdrom
1、mount
功能:查询系统中已经挂载的设备
挂载格式:
mount -t 文件系统类型 -o 特殊选项 设备文件名 挂载点
例:iso9660
mount -t iso9660 /dev/sr0 /mnt
# -t 可以省略
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660 等文件系统。
-o 特殊选项:可以指定挂载的额外选项,比如读写权限、同步异步等,如果不指定则默认值生效。
2、umount
1.卸载时,不能在挂载目录内{设备正忙}
2.卸载既可以使用挂载点,也可以使用设备
-o #用来指定特殊选项
特殊属性一:rw/ro
mount -t FS -o rw 设备 挂载点 #将分区挂载为可读可写
mount -t FS -o ro 设备 挂载点 #将分区挂载为只读
-o remount #重新挂载
mount -t FS -o remount,rw 设备或挂载点 #将分区挂载为可读可写
mount -t FS -o remount,ro 设备或挂载点 #将分区挂载为只读
特殊属性二:exec/noexec
# exec指的是能在当前分区内执行可执行文件
# noexec指的是,即便文件有x权限,也不能执行。约束在该分区下保存的文件无法执行
fdisk -l
查看所有可以识别的【磁盘类存储设备】-{硬盘、移动硬盘、U盘}
补充:
挂载镜像文件:{*.iso}
mount -o loop *.iso /mnt
-o loop #挂载本地文件到某挂载点
使挂载永久生效{/etc/fstab}
挂载设备{设备名&UUID} 挂载点 文件系统 挂载属性{default} 0 0
/dev/sr0 /media iso9660 default 0 0
#此配置文件中所填写的挂载映射关