ls 列出(ls -lahSF)
参数 | 功能 |
---|---|
-l | 列出文件详细信息,包括文件类型、权限、链接数、所有者、组、大小、最后修改时间和文件名, --time-style=iso 加上这个能显示年份,默认不展示 |
-a | 列出所有文件,包括隐藏文件 |
-h | 以易读的方式显示文件大小,例如K、M、G等 |
-d | 只查看目录信息,而不查看目录下的文件 |
-R | 递归列出所有子目录下的文件 |
-t | 按文件最后修改时间排序 |
-r | 反向排序 |
-S | 按文件大小排序 |
-i | 显示文件的inode号 |
-F | 在文件名后添加符号,用于表示文件类型 |
ls -l ,描述的第一列:
当为 d 则是目录
当为 - 则是文件;
若是 l 则表示为链接文档(link file);
若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
mkdir 创建文件夹 (mkdir -p /d1/d2{a,b,c})
参数 | 功能 |
---|---|
-m | --mode=MODE 设置新目录的文件模式,即权限。与 chmod 命令中的模式相同,具体请参考 chmod 的帮助。 |
-p | --parents 递归创建目录,即如果指定的上级目录不存在则先创建上级目录,再创建当前目录。 |
-v | --verbose 创建新目录后,打印一条信息。 |
-Z | --context[=CTX] 将新创建的目录设置为 SELinux 安全上下文 CTX。 |
–help | 显示帮助信息并退出。 |
–version | 显示版本信息并退出。 |
mikidr fe{1,2,3} 可以创建出fe1、fe2、fe3 三个文件夹
rmdir 删除文件夹
参数 | 功能 |
---|---|
-p | --parents 递归地删除目录,当子目录被删除后,如果父目录变为空,则也一并删除。 |
-v | --verbose 删除目录后,打印一条信息。 |
rmdir只能删除空目录。要删除非空目录及其内容,可以使用rm -r命令。
使用rmdir时,务必确认目录是空的,以防止数据丢失。
rm 删除 (rm -rf [!(file)])
参数 | 功能 |
---|---|
-i | 删除前逐一询问确认。 |
-f | 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 |
|-r |将目录及以下之档案亦逐一删除。
保留某些文件:
- 保留多个 m -rf !(1.txt|2.txt)
- 保留一个 m -rf !(1.txt)
- 保留指定文件 m -rf !(.txt)
删除目录下文件,不删除目录: rm -f rumenz/
cp 赋值(cp [-R])
参数 | 功能 |
---|---|
-a | 这是归档选项,用于复制目录及其所有子目录和文件。这等同于-dpR参数的组合。 |
-b | 如果要复制的目标文件已存在,使用此选项会创建其备份。 |
-d | 如果源文件是链接文件,该选项将保留链接而不是链接指向的文件。 |
-f | 如果目标文件已存在,使用此选项将强制覆盖目标文件。 |
-i | 这是交互模式,在覆盖目标文件前要求用户确认。 |
-l | 创建源文件的硬链接,而不是复制文件。 |
-L | 如果源文件是链接文件,该选项将复制链接指向的文件。 |
-p | 保留源文件的原始文件属性(如日期和权限)。 |
-R | 递归复制,常用于复制目录及其所有子目录和文件。 |
-s | 创建源文件的符号链接,而不是复制文件。 |
-u | 如果目标文件已存在,且源文件比目标文件新,此选项将更新目标文件。 |
-v | 显示复制进度。 |
cat 显示或连接文件 (cat -n)
参数 | 功能 |
---|---|
-A | 显示不可打印字符,并在行尾显示$ |
-b | 显示行号,行号添加在非空行前面 |
-E | 显示行结束字符$ |
-n | 显示包含行号的输出 |
-s | 压缩连续的空行输出 |
-T | 显示制表符为^I |
-v | 显示不可打印字符 |
文件 | 要显示或连接的文件 |
- 将三个文件合并到一个文件查看 cat demo.txt test.txt demo2.txt > combined.txt
- 备份/复制 cat test.jpg > test2.jpg
- 创建文件 cat > test2.jpg
find 查找 (find path -opt)
参数 | 功能 |
---|---|
-name <pattern> | 根据文件名模式匹配查找文件,支持通配符。 |
-type <type> | 按照文件类型查找,如f表示普通文件,d表示目录。 |
-size <size> | 按照文件大小查找,支持使用+和-表示大于或小于指定大小。[+-]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB) |
-user <username> | 按照文件所有者查找。 |
-group <groupname> | 按照文件所属组查找。 |
-mtime <days> | 按照文件修改时间查找,以天为单位。正数应该表示时间之前,负数表示时间之内 |
-exec <command> {} + | 对搜索结果执行指定命令,{}代表搜索到的文件 |
找并执行操作(例如删除):
find /path/to/search -name "pattern" -exec rm {} ;
mv 移动或重命名 (mv source dest)
参数 | 功能 |
---|---|
-b | 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。 |
-i | 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。 |
-f | 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。 |
-n | 不要覆盖任何已存在的文件或目录。 |
-u | 当源文件比目标文件新或者目标文件不存在时,才执行移动操作 |
chmod修改文件或目录的权限(chmond [-R] ug+r,o-r file1.txt)
参数 | 功能 |
---|---|
u | 指定用户权限 |
g | 指定用户组权限 |
o | 指定其他用户权限 |
a | 指定所有用户权限(u、g和o的组合) |
+ | 增加权限 |
- | 移除权限 |
= | 设置权限 |
r | 读取权限 |
w | 写入权限 |
x | 执行权限 |
数字模式 | 使用数字表示权限,4读r 、2写w、1执行x |
文件/目录 | 指定要修改权限的文件或目录 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更) |
chown修改文件或目录的所有者(chown -R file1.txt)
用法:chown [-cfhvR] [--help] [--version] user[:group] file..
参数 | 功能 |
---|---|
-c | 只在发生改变时显示处理信息 |
-R | 递归地更改文件夹和文件的所有者 |
--from | 指定当前所有者的名称 |
--reference | 使用参考文件或目录的所有者和组 |
- 将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :
chown runoob:runoobgroup file1.txt- 把 /home/runoob 的关联组设置为 512 (关联组ID),不改变所有者:
chown :512 /home/runoob- PS: 组id ,可用id 用户来获取展示:如
[root@VM-12-9-opencloudos usr]# id root
uid=0(root) gid=0(root) groups=0(root)
du(disk usage)查看文件或目录的磁盘使用情况(du -h path)
参数 | 功能 |
---|---|
-h, --human-readable | 以人类可读的格式显示文件大小 (例如 1K, 234M) |
-s, --summarize | 显示总计磁盘使用量 |
-c, --total | 类似于"–summarize",但包括每个文件的大小 |
-d, --max-depth=N | 限制显示的目录深度为N层,使用:d1 = 1层深度 |
–exclude=PATTERN | 排除与PATTERN匹配的文件或目录 |
-B, --block-size=SIZE 指定块大小 (默认为1K) |
df显示文件系统的磁盘空间使用情况,包括挂载点和可用空间(df -hT)
参数 | 功能 |
---|---|
-h | 以人类可读的方式显示磁盘空间(以K、M、G为单位) |
--total | 显示所有列的总计信息 |
-T | 显示文件系统类型 |
-i | 显示inode信息(文件索引节点) |
--output | 指定要显示的列,以逗号分隔,$ df --output=Filesystem,Size,Used,Avail |
--help | 显示帮助信息 |
ln为某一个文件在另外一个位置建立一个同步的链接(ln [-s] source dest)
ln [参数][源文件或目录][目标文件或目录],不加参数默认创建硬链接
参数 | 功能 |
---|---|
--backup[=CONTROL] | 备份已存在的目标文件 |
-b | 类似 --backup ,但不接受参数 |
-d | 允许超级用户制作目录的硬链接 |
-f | 强制执行 |
-i | 交互模式,文件存在则提示用户是否覆盖 |
-n | 把符号链接视为一般目录 |
-s | 软链接(符号链接) |
-v | 显示详细的处理过程 |
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
tar压缩/解压
tar是一种打包格式,z参数(gzip)是压缩方式,如果不加z,那么仅仅只是打包而已。原来文件还在。
参数 | 功能 |
---|---|
-c | 创建新的归档文件(打包) |
-x | 从归档文件中提取文件(解包) |
-f | <文件名> 指定归档文件名,这个参数是最后一个参数,必须注意 |
-v | 显示操作的详细信息 |
-z | 通过gzip压缩归档文件 |
-j | 通过bzip2压缩归档文件 |
-C | <目录> 切换到指定目录 |
--exclude=<模式> | 排除匹配模式的文件,如: tar -cf documents.tar --exclude='*.txt' /home/user/documents |
--list | 列出归档文件的内容 ,而无需实际提取它们 |
创建归档文件:将文件 file1、file2 和 directory 打包到一个名为 archive.tar 的归档文件中。
tar -cvf archive.tar file1 file2 directory
解压到指定文件夹
tar -C ./local -xzvf haha
gzip压缩/解压(gzip [-d(解压)] file)
只是压缩,不会像windows那样打包,操作多个文件,就是分别压缩它们,源文件会消失,区别tar
参数 | 功能 |
---|---|
-c | --stdout 将压缩数据输出到标准输出,保留原文件,不会进行压缩 |
-d | --decompress 解压缩文件 |
-f | --force 强制压缩文件,覆盖已有压缩文件 |
-r | --recursive 递归地压缩目录及其内容 |
-t | --test 测试压缩文件是否损坏 |
-v | --verbose 显示压缩进度信息 |
-h | --help 显示帮助信息 |
gzip sudanan baijuyu 加压
结果:sudanan.gz baijuyu.gz
gzip -d baijuyi.gz luyou.gz 解压
结果:sudanan baijuyu
zip压缩zip文件(源文件还在)
参数 | 功能, |
---|---|
-r | 递归地将一个目录及其所有子目录和文件压缩到ZIP文件中 |
-q | 在压缩文件时启用静默模式,即不显示压缩过程的详细信息 |
-d | 从现有的ZIP文件中删除指定的文件或目录,zip -d my.zip luyou,将luyou从my.zip中删除 |
-u | 用于更新现有的ZIP文件,将新的文件或修改后的文件添加到ZIP存档中 |
-f | 用于刷新(更新)现有ZIP文件中的指定文件。 |
-m | 用于移动(归档)文件到一个ZIP压缩文件中,并在移动后将源文件删除。 |
-e | 用于对ZIP压缩文件进行加密。 |
-z | 为压缩文件添加注释 |
多文件打包压缩
zip my.zip baijuyi luyou
unzip解压缩zip文件
参数 | 功能 |
---|---|
-d | 用于指定解压缩后的目录 |
-l | 列出压缩文件中的文件列表,而不进行实际的解压缩操作 |
-q | 不显示解压缩过程 |
-o | 强制已存在的文件且不会询问 |
-z | 仅显示压缩文件中的注释说明,并不对压缩文件解压缩 |
[root@VM-12-9-opencloudos shiren]# unzip -d /d1 myup.zip
Archive: myup.zip
inflating: /d1/baijuyi
extracting: /d1/luyou
[root@VM-12-9-opencloudos shiren]# ls /d1
baijuyi d2 luyou
more查看文件
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏,同f
空格键 向下滚动一屏
Ctrl+B 返回上一屏 ,同b
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
/字符串 ,查询
参数 | 功能 |
---|---|
-num | 一次显示的行数 |
-d | 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声 |
-l | 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能 |
-f | 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) |
-p | 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 |
-c | 跟 -p 相似,不同的是先显示内容再清除其他旧资料 |
-s | 当遇到有连续两行以上的空白行,就代换为一行的空白行 |
-u | 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同) |
+/pattern | 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示 |
+num | 从第 num 行开始显示 |
less查看文件 (ls -N file)
与more类似,但是更强大,能方向上下浏览,还能显示行号
参数 | 功能 |
---|---|
-b | 强制打開并查看二进制文件 |
-c | 清屏后再显示每一页 |
-d | 忽略键盘输入,直接显示文件内容 |
-e | 当文件显示结束后,自动离开 |
-f | 强迫打开特殊文件,例如外围设备接口 |
-g | 只标志最后搜索的关键词 |
-i | 忽略搜索时的大小写 |
-j | 对齐左右两边文本 |
-J | 对齐左右两边文本,并断词 |
-k | 设置显示关心行的间距 |
-K | 不断字,根据窗口的宽度调整换行 |
-L | 显示类似冒号的行号 |
-m | 显示类似百分比的进度条 |
-M | 显示运行时间统计数据 |
-N | 显示每行的行号 |
-o <文件名> | 将内容输出到指定文件 |
-O <文件名> | 将内容输出到指定文件,不显示在屏幕上 |
-p <字符串> | 设置提示字符串 |
-P <字符串> | 设置提示字符串,且在末行显示 |
-q | 不加载潜在危险的外围设备文件 |
-Q | 不加载潜在危险的外围设备文件,且不显示警告 |
-r | 原始显示控制字符,不进行处理 |
-s | 连续空行显示为一行 |
-S | 截断而不是自动换行 |
-t <目标> | 显示目标内容而不是整个文件 |
-T <标签> | 通过指定标签显示目标内容 |
-u | 忽略下划线的特殊含义 |
-V | 显示版本信息 |
-w | 禁止换行显示 |
-x <数字> | 将"制表符"设定为指定的数字空格 |
-X | 不需要向右滚动,只显示文本 |
-y <数字> | 将换行的点设定为指定的数字空格 |
-[z]<数字> | 将屏幕长度设定为指定的数字行 |
-~ | 不显示尾部的波浪符 ‘~’ |
+命令 | 执行指定的命令 |
head用于显示文件的开头部分
参数 | 功能 |
---|---|
-q | 隐藏文件名 |
-v | 显示文件名 |
-c<数目> | 显示的字节数。 |
-n<行数> | 显示的行数。 |
[root@VM-12-9-opencloudos etc]# head -vn 2 redis.conf lftp.conf
==> redis.conf <==
# Redis configuration file example.
#
==> lftp.conf <==
## some useful aliases
alias dir ls
tail用于显示文件的结尾部分
参数 | 功能 |
---|---|
-f | 循环读取 |
-q | 不显示处理信息 |
-v | 显示详细的处理信息,与head一致 |
-c<数目> | 显示的字节数 |
-n<行数> | 显示文件的尾部 n 行内容 |
--pid=PID | 与-f合用,表示在进程ID,PID死掉之后结束 |
-q | --quiet, --silent 从不输出给出文件名的首部 |
-s | --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 |
netstat 显示网络状态 netstat -anp
参数 | 功能 |
---|---|
-a或--all | 显示所有连线中的Socket。 |
-A<网络类型>或--<网络类型> | 列出该网络类型连线中的相关地址。 |
-c或--continuous | 持续列出网络状态。 |
-C或--cache | 显示路由器配置的快取信息。 |
-e或--extend | 显示网络其他相关信息。 |
-F或--fib | 显示路由缓存。 |
-g或--groups | 显示多重广播功能群组组员名单。 |
-h或--help | 在线帮助。 |
-i或--interfaces | 显示网络界面信息表单。 |
-l或--listening | 显示监控中的服务器的Socket。 |
-M或--masquerade | 显示伪装的网络连线。 |
-n或--numeric | 直接使用IP地址,而不通过域名服务器。 |
-N或--netlink或--symbolic | 显示网络硬件外围设备的符号连接名称。 |
-o或--timers | 显示计时器。 |
-p或--programs | 显示正在使用Socket的程序识别码和程序名称。 |
-r或--route | 显示Routing Table。 |
-s或--statistics | 显示网络工作信息统计表。 |
-t或--tcp | 显示TCP传输协议的连线状况。 |
-u或--udp | 显示UDP传输协议的连线状况。 |
-v或--verbose | 显示指令执行过程。 |
-V或--version | 显示版本信息。 |
-w或--raw | 显示RAW传输协议的连线状况。 |
-x或--unix | 此参数的效果和指定"-A unix"参数相同。 |
--ip或--inet | 此参数的效果和指定"-A inet"参数相同。 |
scp远程拷贝: scp [-r] file_source file_target
本地拷贝到远程(文件夹递归加 -r) 从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可
本地复制到远程
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
远程复制到本地
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/
diff
top用于实时显示系统中运行的进程活动情况
参数 | 功能 |
---|---|
-d | <秒数> 设置刷新间隔时间,单位为秒。默认为3秒。 |
-n | <次数> 设置刷新次数。当指定次数达到后,top会自动退出。 |
-b | 以批处理模式运行,适用于将top输出保存到文件中。 |
-u | <用户名> 显示指定用户的进程信息。 |
-p | <进程ID> 显示指定进程ID的详细信息。 |
-H | 显示线程视图,展示各个进程的线程信息。 |
-c | 显示完整的命令行信息,包括命令行参数。 |
-M | 切换内存单位,以MB为单位显示内存使用情况。 |
-k | 切换内存单位,以KB为单位显示内存使用情况。 |
-s | <字段> 按指定字段对进程进行排序,如-s %CPU按CPU利用率排序。 |
####关于防火墙端口
systemctl enable[disable,is-enabled] firewalld #开机自动启动、禁止、检查是否开启防火墙
systemctl status[stop,start] firewalld #防火墙状态、关闭、启动
systemctl status firewalld #这也是防火墙状态
firewall-cmd --list-ports #防火墙开放端口列表
firewall-cmd --add-port=8080/tcp --permanent #开放8080端口,完成后要重载防火墙
firewall-cmd --query-port=80/tcp #查询80端口是否开启
firewall-cmd --reload #重载防火墙
####时间同步
ntpdate time.windows.com
###根据pid查看路径
ls -l /proc/[pid]
###grep命令
多个关键字 -E ,转义字符用\:grep -E '\[40\]|\[39\]' --color=auto test.txt