每天一个linux命令,持续更新中~~

文件管理

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

压缩备份

设备管理

猜你喜欢

转载自blog.csdn.net/qq_33235529/article/details/109527447