每天一个linux命令,持续更新中~~
分类文件管理cat参数说明示例文件编辑文件传输磁盘管理磁盘维护网络通讯系统管理系统设置压缩备份设备管理文件管理cat参数说明参数说明-n或–number显示行号-b或–number-nonblank与-n相似,但是不对空行计算-E或–show-ends在行尾处显示$-T或–show-tabs将TAB字符替换为^I示例cat命令用于将文件进行连接和将文件内容打印到标准输出终端设备查看文件[root@
·
分类
文件管理
cp
cp命令主要用户文件或目录的复制
参数说明
参数 | 说明 |
---|---|
-a | 在复制目录时使用,它保留连接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合 |
-d | 复制时保留链接。相当于Windows系统中的快捷方式 |
-f | 覆盖已经存在的目标文件而不给出提示 |
-i | 与-f参数相反,在覆盖目标文件之前给出提示,需要用户手动确认 |
-p | 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中 |
-r | 递归处理,若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件 |
-l | 不复制文件,只是生成链接文件 |
示例
- 复制文件
cp /usr/app/a.txt /usr/mingongge/b.txt
#b.txt不存在,创建b.txt文件
cp /usr/app/a.txt /usr/mingongge/b.sh
#b.sh不存在,创建b.sh文件,类似改名功能
cp /usr/app/a.txt /usr/mingongge/abc
#abc不存在,创建abc文件
cat
cat命令用于将文件进行连接和将文件内容打印到标准输出终端设备
参数说明
参数 | 说明 |
---|---|
-n或–number | 显示行号 |
-b或–number-nonblank | 与-n相似,但是不对空行计算 |
-E或–show-ends | 在行尾处显示$ |
-T或–show-tabs | 将TAB字符替换为^I |
示例
- 查看文件
[root@k8s-1 doc]# cat test1
test1
[root@k8s-1 doc]# cat test2
test2
- 同时查看两个文件
[root@k8s-1 doc]# cat test1 test2
test1
test2
- 输出文件内容并显示行号
[root@k8s-1 doc]# cat -n test1
1 test1
2 test1
3 test1
4 test1
[root@k8s-1 doc]# cat -n test1
1 test1
2 test1
3
4 test1
5 test1
[root@k8s-1 doc]# cat -b test1
1 test1
2 test1
3 test1
4 test1
-n与-b的区别是,cat -b空行不计算行号
- 文件追加
[root@k8s-1 doc]# cat test1
test1
test1
test1
test1
[root@k8s-1 doc]# cat test2
test2
[root@k8s-1 doc]# cat test1 >> test2
[root@k8s-1 doc]# cat test2
test2
test1
test1
test1
test1
- 文件覆盖
[root@k8s-1 doc]# cat test2
test2
test1
test1
test1
test1
[root@k8s-1 doc]# cat test1 > test2
[root@k8s-1 doc]# cat test2
test1
test1
test1
test1
- 在行尾处显示$
[root@k8s-1 doc]# cat -E test1
test1 $
te st1$
- 文件中的TAB以^I显示
[root@k8s-1 doc]# cat -T test1
test1^I
te^Ist1
- 清空文件
[root@k8s-1 doc]# cat /dev/null > test2
whereis
该命令用于查找符合条件的文件,这些文件应是原始码文件、二进制文件、或是帮助文件。
参数说明
参数 | 说明 |
---|---|
-b | 只查找二进制文件 |
-B | 只查找某个目录下二进制文件 |
-f | 不显示文件名前的路径 |
-m | 只查找说明文件 |
-M | 只查找某个目录下的说明文件 |
-s | 查找原始码文件 |
-S | 只查找某个目录下的原始码文件 |
-u | 查找不包含指定类型的文件 |
示例
- 使用"whereis"查看指令"bash"的位置,输入如下命令:
[root@k8s-1 ~]# whereis bash
bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz
[root@k8s-1 ~]# whereis -b bash
bash: /usr/bin/bash
[root@k8s-1 ~]# whereis -m bash
bash: /usr/share/man/man1/bash.1.gz
文件编辑
文件传输
磁盘管理
pwd
pwd(英文全拼:print work directory) 命令用于显示当前所在工作目录的绝对路径。
示例
- 打印当前工作目录绝对路径
[root@k8s-1 data]# pwd
/data
cd
cd命令全拼change directory,用于切换当前工作目录。
参数说明
参数 | 说明 |
---|---|
~ | 表示回到当前用户家目录 |
./ | 表示当前目录,用于进入相对路径下的目录 |
../ | 表示返回到上一级目录 |
示例
- 切换目录
[root@k8s-1 ~]# cd /var/lib/
[root@k8s-1 lib]# pwd
/var/lib
- 返回到上一层目录
[root@k8s-1 lib]# cd ../
[root@k8s-1 var]# pwd
/var
- 回到家目录
[root@k8s-1 var]# cd
[root@k8s-1 ~]# pwd
/root
[root@k8s-1 ~]# cd /var/
[root@k8s-1 var]# cd ~
[root@k8s-1 ~]# pwd
/root
df
df命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
参数说明
参数 | 说明 |
---|---|
-a或–all | 包含所有具有0Blocks的文件系统 |
-h | 以人类可读的格式显示 |
-H | 与-h相似,但是是以1000为单位,而不是1024 |
-i | 列出inode使用情况 |
-l或–local | 只显示本地文件系统的大小,不显示nfs等网络文件系统大小 |
-t或–type=TYPE | 筛选列出文件系统的类型 |
-T | 显示文件系统 |
示例
- 显示磁盘使用情况
[root@k8s-1 ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 1918616 0 1918616 0% /dev
tmpfs 1930648 0 1930648 0% /dev/shm
tmpfs 1930648 192444 1738204 10% /run
tmpfs 1930648 0 1930648 0% /sys/fs/cgroup
/dev/mapper/centos-root 78604800 15452364 63152436 20% /
/dev/sda1 1038336 153552 884784 15% /boot
/dev/mapper/centos-home 2086912 33124 2053788 2% /home
[root@k8s-1 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 188M 1.7G 10% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 75G 15G 61G 20% /
/dev/sda1 1014M 150M 865M 15% /boot
/dev/mapper/centos-home 2.0G 33M 2.0G 2% /home
- 显示inode信息
[root@k8s-1 ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 479654 405 479249 1% /dev
tmpfs 482662 1 482661 1% /dev/shm
tmpfs 482662 1390 481272 1% /run
tmpfs 482662 16 482646 1% /sys/fs/cgroup
/dev/mapper/centos-root 39321600 280126 39041474 1% /
/dev/sda1 524288 327 523961 1% /boot
/dev/mapper/centos-home 1048576 17 1048559 1% /home
- 显示指定文件系统的磁盘信息
[root@k8s-1 ~]# df -t xfs
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 78604800 15452380 63152420 20% /
/dev/sda1 1038336 153552 884784 15% /boot
/dev/mapper/centos-home 2086912 33124 2053788 2% /home
磁盘维护
badblocks
用于检测磁盘中损坏的区块
参数说明
参数 | 说明 |
---|---|
-b | 指定磁盘的区块大小,单位为字节 |
-o | 将检查结果输出到指定文件 |
-s | 在检查时显示进度 |
-v | 检查时显示详细信息 |
-w | 在监察室,执行写入测试 |
示例
- 查看磁盘信息
[root@zabbix-server ~]# fdisk -l
磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000aa457
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 167772159 82836480 8e Linux LVM
磁盘 /dev/mapper/centos-root:81.6 GB, 81604378624 字节,159383552 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2143 MB, 2143289344 字节,4186112 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-home:1073 MB, 1073741824 字节,2097152 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
- 扫描磁盘
[root@zabbix-server ~]# badblocks -s -v -b 4096 /dev/sda1
正在检查从 0 到 262143的块
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)
[root@zabbix-server ~]# badblocks -vs -b 1024 -o result.txt /dev/sda1 1048576 1048500
正在检查从 1048500 到 1048576的块
Checking for bad blocks (read-only test): done
Pass completed, 1 bad blocks found. (1/0/0 errors)
网络通讯
netstat
netstat命令用于显示网络状态
参数说明
参数 | 说明 |
---|---|
-a或–all | 显示所有socket |
-c或–continuous | 持续输出网络状态 |
-e或–extend | 显示网络其他相关信息 |
-i或–interfaces | 显示网络界面信息表单 |
-l或–listening | 显示监控中的服务器的socker |
-n或–numeric | 以数字的形式显示地址和端口号 |
-o或–timers | 显示计时器 |
-p或–programs | 显示建立相关链接的程序名 |
-s或–statistics | 显示网络工作信息统计表 |
-t或–tcp | 显示tcp传输协议的连接情况 |
-u或–udp | 显示udp传输协议的连接情况 |
示例
- 显示详细的网络状况
netstat -a
- 显示当前用户udp连接状况
netstat -u
- 显示upd协议端口号使用情况
netstat -aup
- 显示网卡列表
[root@k8s-1 ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
br-60df16eae097 1500 10820596 0 0 0 5635819 0 0 0 BMRU
docker0 1500 6691 0 0 0 10150 0 0 0 BMU
ens33 1500 24072167 0 0 0 22866168 0 0 0 BMRU
lo 65536 2722101 0 0 0 2722101 0 0 0 LRU
veth5a3a2af 1500 3346403 0 0 0 6585462 0 0 0 BMRU
veth78c82a3 1500 10820596 0 0 0 5635819 0 0 0 BMRU
vethb1d9943 1500 2341694 0 0 0 4287473 0 0 0 BMRU
- 统计tcp各状态连接数
[root@k8s-1 ~]# netstat -ant |awk 'NR>2{print $6}'|sort|uniq -c|sort -rn
19 ESTABLISHED
18 LISTEN
2 TIME_WAIT
- 统计ip连接数
[root@k8s-1 ~]# netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -rn
15 192.168.0.157
2 127.0.0.1
1 192.168.0.179
1 192.168.0.137
1 192.168.0.1
系统管理
useradd
用于新增使用者帐号或更新预设的使用者资料。
参数说明
参数 | 说明 |
---|---|
-b | 设置新账户家目录所在的路径 |
-c | 新账户描述(位于/etc/passwd中用户描述一字段) |
-d | 设置新账户家目录名称 |
-e | 新账户过期时间(格式为 YYYY-MM-DD)默认永久有效 |
-g | 新账户所属组名称或id |
-G | 新账户附加组 |
-M | 不创建新账户家目录 |
-N | 不创建同名的组 |
-s | 新账户的登录shell |
-u | 指定新账户的UID |
示例
- 新建账户并修改家目录所在路径
[root@zabbix-server /]# ll /user/
总用量 0
[root@zabbix-server /]# useradd a1 -b /user/
[root@zabbix-server /]# ll /user/
总用量 0
drwx------ 2 a1 a1 62 11月 12 18:40 a1
- 新用户描述
[root@zabbix-server /]# useradd a2 -c a2a2
- 设置新账户家目录名称
[root@zabbix-server /]# useradd a3 -d /home/aaa
正在创建信箱文件: 文件已存在
[root@zabbix-server /]# ll /home/
总用量 0
drwx------ 2 a2 a2 62 11月 12 18:43 a2
drwx------ 2 a3 a3 62 11月 12 18:46 aaa
shutdown
shutdown命令可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。使用权限:系统管理者。
参数说明
参数 | 详解 |
---|---|
-c | 可以取消目前正在执行的关机程序,或者Control-C终止shutdown程序 |
-k | 仅仅向每个登录用户发出警告信息,并不真正关机 |
-f | Ubuntu系统独有,CentOS系统没有,重新启动时不执行fsck文件系统检查命令 |
-F | Ubuntu系统独有,CentOS系统没有,重新启动时执行fsck文件系统检查命令 |
-h | 关机后停机 |
-H | 关机(halt) |
-P | 关机,相当于poweroff |
-n | 不调用 init 程序进行关机,而由 shutdown 自己进行 |
-r | 重启相当于reboot |
-t | 送出警告信息和删除信息之间要延迟多少秒 |
示例
- 关机
shutdown -H now
- 在十分钟后关机
shutdown -h 10
- 重启计算机
shutdown -r now
- 立即关机并切断电源
shutdown -P now
- 设置在某个时间关机
shutdown -h 12:30
或后台执行
shutdown -h 12:30 &
- 取消shutdown执行命令
如果执行了下面的命令,突然发现时间上有冲突,可以使用ctrl+c取消
shutdown -h 12:3
Shutdown cancelled.
或者,在另一个命令行窗口,使用下面的命令取消。
shutdown -c
系统设置
clear
用于清除终端屏幕
示例
[root@zabbix-server ~]# clear
crontab
Linux系统下周期性执行某一固定命令或自定义脚本
参数说明
参数 | 详解 |
---|---|
-l | 列出当前用户的所有定时任务 |
-e | 编辑当前用户的定时任务 |
-u | 设置指定的用户执行定时任务,此选项必须拥有权限如root用户 |
-r | 删除当前用户的定时任务 |
- 定时任务书写规则
* | * | * | * | * |
---|---|---|---|---|
分钟(0-60),‘*/5’表示每五分钟 | 小时(0-24) | 每天(1-30) | 月(1-12) | 周(1-7) |
书写格式与分钟一样
示例
- 创建一个定时任务
[root@zabbix-server log]# crontab -e
保存退出,方法与vim一样
- 观察日志
[root@zabbix-server log]# tail -f /var/log/cron
Nov 13 03:01:01 zabbix-server anacron[3261]: Will run job `cron.daily' in 21 min.
Nov 13 03:01:01 zabbix-server anacron[3261]: Jobs will be executed sequentially
Nov 13 03:01:01 zabbix-server run-parts(/etc/cron.hourly)[3263]: finished 0anacron
Nov 13 03:04:44 zabbix-server crontab[3236]: (root) REPLACE (root)
Nov 13 03:04:44 zabbix-server crontab[3236]: (root) END EDIT (root)
Nov 13 03:04:58 zabbix-server crontab[3266]: (root) BEGIN EDIT (root)
Nov 13 03:05:01 zabbix-server CROND[3269]: (root) CMD (/bin/sh /tets.sh)
Nov 13 03:06:01 zabbix-server CROND[3278]: (root) CMD (/bin/sh /tets.sh)
Nov 13 03:07:01 zabbix-server CROND[3283]: (root) CMD (/bin/sh /tets.sh)
Nov 13 03:07:36 zabbix-server crontab[3266]: (root) END EDIT (root)
Nov 13 03:08:01 zabbix-server CROND[3289]: (root) CMD (/bin/sh /tets.sh)
- 为某个用户创建定时任务
[root@zabbix-server log]# crontab -u test -e
- 查看日志
Nov 13 03:08:01 zabbix-server CROND[3289]: (root) CMD (/bin/sh /tets.sh)
Nov 13 03:08:53 zabbix-server crontab[3293]: (root) DELETE (root)
Nov 13 03:09:03 zabbix-server crontab[3294]: (root) BEGIN EDIT (test)
Nov 13 03:09:35 zabbix-server crontab[3294]: (root) REPLACE (test)
Nov 13 03:09:35 zabbix-server crontab[3294]: (root) END EDIT (test)
Nov 13 03:09:57 zabbix-server crontab[3297]: (root) BEGIN EDIT (test)
Nov 13 03:10:01 zabbix-server crond[727]: (test) RELOAD (/var/spool/cron/test)
Nov 13 03:10:01 zabbix-server CROND[3300]: (test) CMD (echo "hello" >> /test.sh)
Nov 13 03:10:11 zabbix-server crontab[3297]: (root) END EDIT (test)
Nov 13 03:12:01 zabbix-server CROND[3311]: (test) CMD (echo "hello" >> /test.sh)
- 查看某一用户所有定时任务
[root@zabbix-server /]# crontab -l -u test
*/2 * * * * /usr/bin/echo "hello" >> /aaa
- 删除定时任务
[root@zabbix-server /]# crontab -l -u test
*/2 * * * * /usr/bin/echo "hello" >> /aaa
[root@zabbix-server /]# crontab -r -u test
[root@zabbix-server /]# crontab -l -u test
no crontab for test
压缩备份
设备管理
更多推荐
已为社区贡献10条内容
所有评论(0)