Linux 常用命令扩展与补充
内容提纲
◼ 命令扩展与补充
补充1:history
history
查询历史命令(默认记录1000条)
history –c
清空历史命令
备注:如需调整命令记录条数,可以修改配置文件
/etc/profile
中 HISTSIZE=1000
的数值
补充2:nmcli
nmcli
查看网卡连接状态
nmcli con show
查看连接 nmcli dev show
查看设备
补充3:ln
创建软链接
( ln –s
源文件 链接文件 )
示例: ln –s file1 file2
//在当前路径下为file1
创建链接file2
备注:
1、软链接相当于快捷方式,占用磁盘空间很小
2、删除链接文件后并不影响源文件,删除源文件后会影响链接文件
3、软链接允许跨分区创建,支持为文件或目录创建软链接
典型应用
ln –s /etc/sysconfig/network/ifcfg-ens33 /home/linux
//将网卡配置文件通过软链接定位到家目录,方便操作
备注:如果没有指定链接文件的名称,默认同源文件一致
创建硬链接
(ln 后面没有 -s)
ln file3 file4 //在当前目录下为file3创建硬链接file4
硬连接备注:
1、硬链接文件类型为普通文件
2、创建硬链接后,文件属性的链接数量值会发生变化
3、硬链接相当于同一个文件有两个名称,或两个访问入口,做备份用
4、删除源文件不会影响链接文件
5、删除链接文件不会影响源文件
6、硬连接不支持跨分区创建
补充4:stat(显示文件或文件系统的详细信息)
stat 文件名 //查询文件的属性信息
备注:硬链接文件与源文件的inode节点一样,为同一文件
补充5:wc
wc 文件名 //统计文件的行数 单词数 字节数
wc -l 文件名 //统计文件行数
补充6:du
du -h file //统计文件大小
du –sh dir //统计目录总大小,不显示子目录和文件大小
补充7:diff
diff file1 file2 //比较两个文件的不同(文件对比)
备注: a 增加 c 修改 d删除
补充8:which
which 查找命令所在路径位置
示例: which ls
备注
1、which命令只局限在$PATH路径中查找
2、查找的对象拥有可执行权限
补充9:find
find ./ –name “file*” //在当前目录下按名称查找
find ./ -type f(或l d) //在当前目录下按文件类型查找
find ./ -size -10k(+10k) //在当前目录下按文件大小查找
find ./ -user linux //在当前目录下按用户名称查找
find ./ -name “file*” –a –type f –a size +10k
//在当前目录下查找大于10k以file开头的普通文件
备注: -a表示与, -0表示或
f表示普通文件,l表示链接文件,d表示目录文件
补充10:grep
grep “^file” file1.txt //在文件中搜索以 file 开头的内容
grep “file”$ file1.txt //在文件中搜索以 file 结尾的内容
grep –v “file” file1.txt //文件中搜索不含 file 的内容
grep “^”$ file1.txt -n //搜索空白行并显示行号
grep –v “^#” file.txt | grep –v “^$”
//过滤#开头的注释行和空白行
补充11:dd
1:在当前目录下新建指定大小的文件
dd if=/dev/zero of=/home/linux/test.txt bs=1k count=10
2:本地的/dev/hdb整盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
补充12:hwclock
date //查询系统时间
date –s 时间 //修改系统时间 (需要root权限)
timedatectl //查看时区
hwclock //显示硬件时间 (需要root权限)
hwclock –w //硬件时间跟系统时间进行更新同步
补充13:alias
alias
//查询别名 永久生效修改 .bashrc
示例:设置别名setip,输入命令setip后就可以直接打开网络配置文件
alias setip =‘vi /etc/sysconfig/network-scripts/ifcfg-ens33’
补充14:at
at 执行一次性的计划任务(设置时间点,到达时间后执行一次任务)
备注:如果at服务没有开启,需要以下两个操作
1、systemctl start atd 2、systemctl enable atd
at使用方法:
1、键入命令:
at 10:45 2021-10-06
2、输入计划任务 at> rm /linux/home/file
at> mv file1 file2
3、 Ctrl+d 提交计划任务
4、等待时间到来后触发任务
atq 查询计划 atrm n删除指定计划(n为编号)
补充15:crontab
crontab –e 周期性计划任务
格式要求 * * * * * 依次对应-> 分 时 日 月 周
示例:30 0 * * * //每天零点30
30 0 * * 3 //每周三零点30
30 0 1 * * //每月1日零点30
示例:
57 16 * * * rm -rf /tmp //每天固定时间删除tmp文件
57 16 * * 1,3,5 rm -rf /tmp //周一周三周五执行删除任务
57 16 * * 1-5 rm -rf /tmp //周一到周五执行删除任务
57 11-19/2 * * * 任务 //从11-19点每隔2小时执行一次任务
*/1 * * * * 任务 //每隔1分钟执行一次任务
crontab –l 查询计划任务
crontab –r 删除计划任务
补充16:tar
tar命令本身是对文件目录进行打包或解包
注意区分:打包和压缩是两个不同的概念
打包是将一些文件或目录变成一个总的文件
压缩是将一个大文件通过压缩算法变成一个小文件
tar命令参数说明:
-c 表示建立新的打包文件 -x 表示从解压文件中解出文件
-v 处理过程中输出相关信息 -f 对普通文件进行操作
-z 表示调用gzip命令进行压缩与解压缩
-j 表示调用bz2命令进行压缩与解压缩
1:
tar –cjvf newfile.tar.bz2 file1 file2 file3 //将file1 file2
file3三个文件打包并压缩为bz2格式
2:
tar -xjvf newfile.tar.bz2
//解压缩bz2文件
示例3:
tar –czvf newfile.tar.gz file1 file2 file3 //将file1 file2
file3三个文件打包并压缩为gz格式
示例4:
tar -xzvf newfile.tar.gz //解压缩gz文件