1 打包
tar命令:
参数:
-c:新建打包文件;
-t:查看打包文件的内容含哪些文件名,重点在查看文件名;
-x:解打包或解压缩参数;
-j:通过bzip2压缩/解压缩文件;
-z:通过gzip压缩/解压缩文件;
-v:在压缩/解压缩过程中,将正在处理的文件显示出来;
-f filename:-f 后面要接被处理的文件名,建议-f 单独写一个参数;
-C 目录:在解压缩时,若要在特定目录下解压缩,可用此参数。
示例:
tar -zcvf demo.tar.gz demo 表示把demo文件打包成demo.tar的压缩包;
tar -zxvf demo.tar 表示把demo.tar包解压到demo包中
--exclude
tar --exclude='log' --exclude='nohup.out' -zcvf icloud.tar.gz icloud
# 除去log目录和nohup.out文件,其余文件都打包
#在打包时如果源文件包含绝对路径,打包的文件重新解压也会包含有目录信息,所以如果不需要目录信息需要自己在打包的地方配置一下。
命令结构为:打包命令+空格+压缩后文件存放目录及名称+空格+"-C"+源文件目录+空格+文件名称
示例:要打包/opt/test 目录下的 a.log文件
tar -zcvf /opt/test/a.tar.gz -C/opt/test/ a.log (注意:-C与文件夹之间没有空格,文件夹与文件中间有空格)
2 多剑客
【awk】
案列1:自定义输出内容
awk,必须外层单引号,内层双引号
内置变量$1、$2都不得添加双引号,否则会识别文本,尽量别添加引号
awk -F: '{print "第一列",$1,"第二列",$2}' /etc/passwd
案列2:显示文件的行号
NR表示文件的行号,NR==5表示行号是5的那一行
注意一个等于号,是修改变量值得意思,两个等于号是关系运算符,是“等于”的意思
awk 'NR==5' /etc/passwd
显示文件2-5行内容
awk 'NR==2,NR==5' /etc/passwd
案列3:显示文件的第一列,倒数第二和倒数第三列
awk '{print $1,$(NF-1)}' test.txt
awk '{print $1,$(NF-1),$(NF-2)}' test.txt
案列4:awk分隔符
输入分隔符:awk默认是空格,空白字符,变量名是FS
输出分隔符:简称OFS
FS输入分隔符:awk逐行处理文本的时候,以输入分割符为准,把文本切成多个片段,默认符号是空格,当我们处理特殊文本的时候,没有空格的时候,可以自由指定分割符特点
awk -F ":" '{print $1}' passwd
除了使用-F选项,还可以使用变量的形式,指定分隔符,使用-v选项搭配,修改FS变量
awk -v FS=":" '{print $1,$NF}' passwd
OFS输出分割符:awk执行完命令,默认用空格隔开每一列,这个空格就是awk的默认输出符。可以通过OFS指定分隔符
awk -F ":" -v OFS="--" '{print $1,$NF}' passwd
案列5:自定义变量
方法一:-v varName=value
awk -v myname="xiaonuo" 'BEGIN{print "我的名字是?",myname}'
方法二:在程序中直接定义
myname="xiaonuo"
awk -v awk_name=$myname 'BEGIN{print awk_name}'
案列6:awk使用正则表达式,必须把正则放入“//”双斜杠中,匹配到结果后执行动作{print $0},打印整行信息
awk '/正则表达式/动作' /etc/passwd
行范围模式:
awk '/正则1/,/正则2/{动作}' file.txt
# 提取某分区利用率
df /home | awk -F' +|%' 'NR!=1{print $5}'
【grep】
格式 :grep [参数] [过滤的规则] [路径]
参数:
-n : 显示过滤出来的文本在文件内的行号
-o : 只显示匹配到的内容
-q : 静默输出
-i : 忽略大小写
-c : 显示匹配到的行数
-v : 反向查找(重要)
-w : 匹配某个词
-E : 使用扩展正则
-r 或 -R : 递归查询(重要)
-l : 只打印文件路径
-x:匹配整行
-A :显示匹配到的数据的后n行
-B :显示匹配到的数据的前n行
-C :显示匹配到的数据的前后各n行
^ 表示匹配行的开头
[^#] 表示匹配除了 # 之外的任意字符
【示例】
1 匹配行首不是#的所有行
grep '^[^#]' /etc/zabbix/zabbix_proxy.conf
【sed】
显示第2行到第9行的数据
sed -n '2,9p' ./queshi.sql
从第一行开始删除三行数据
sed -i '1,3d' AAAAA.txt
从第一行开始删除文件内全部数据
sed -i '1,$d' /opt/Gcp/scp.sh
删除最后一行的数据
sed -i '$d' AAAAA.txt
seq 10 1 |sed -n -i ':a;N;P;D;t a' AAAAA.txt
删除文件内含#的行
sed -i '/#/d' vsftpd.conf
删除文件内最后一行
sed -i '$d' /usr/bin/google-chrome
去除文件内空行
sed -i '/^[[:space:]]*$/d' vsftpd.conf
去除文件内全部字母
sed -i 's/[a-zA-Z]//g' vsftpd.conf
去除文件内全部数字
sed -i 's/[0-9]//g' vsftpd.conf
在文件中的斜杠前添加反斜杠
sed -i 's/\//\\\//g' 1.log
在第一行插入XXXXXXXXXXXXX数据
sed -i '1i\XXXXXXXXXXXXX' AAAAA.txt
sed -i "1i XXXXXXXXXXXXX" AAAAA.txt
在每一行行首插入XXXXXXXXXXXXX数据
sed -i 's/^/XXXXXXXXXXXXX/g' AAAAA.txt
在每一行行末插入XXXXXXXXXXXXX数据
sed -i 's/$/XXXXXXXXXXXXX/g' AAAAA.txt
在最后一行插入XXXXXXXXXXXXX数据
sed -i '$a\XXXXXXXXXXXXX' AAAAA.txt
首字母转换为大写
sed -i 's/\b[a-z]/\U&/g' AAAAA.txt
在所有包含java字符串的行末尾添加单引号
sed -i "/java/ s/$/'/" /opt/Gcp/db_sum/clear/run.sh
替换字段
sed -i 's/XXXXXXXXXXXX/XXXXXXXXXXXX/g' ./config.log
将所有行合并为一行
sed -i ':label;N;s/\n//;b label' ./bucai.log
sed遇到目录时,可以加反斜杠转义
sed -i 's/grep -q 心跳超时 \/opt\/Gcp\/GcpCollector\/log\/error.log/cat \/opt\/Gcp\/GcpCollector\/log\/error.log | grep 心跳超时/' jiance.sh
删除每行前14个字符
sed -i 's/.\{14\}//' /opt/Gcp/GNDP/error/error/time.log
删除每行前3个字符
sed -i 's/...//' /opt/Gcp/GNDP/error/error/time.log
删除每行最后三个字符
sed -i 's/...$//' /opt/Gcp/GNDP/error/error/time.log
替换双引号为空
sed -i 's/\"//g' bmd.sql
替换单引号为回车[双引号为\x22]
sed -i 's/\x27/\n/g' ./gsm_*.sql
在auth-QQ的行后面添加内容为【auth-required】的一行
sed -i '/auth-QQ/aauth-required' chaxun.log
找到以 # 开头且包含 openEuler.pool.ntp.org 和 iburst 的行,并将行首的 # 去掉
sed -i '/^#.*openEuler.pool.ntp.org.*iburst/s/^# //' /tmp/aa.com
在包含 openEuler.pool.ntp.org 的行 行头加上#注释
sed -i '/pool.ntp.org/s/^/# /' /tmp/aa.conf
包含openEuler.pool.ntp.org,并且匹配.iburst 的行下面添加一行内容
sed '/^#.*openEuler.pool.ntp.org.*.iburst/a\server x.x.x.x iburst' /tmp/aa.conf
#统计ESTABLISHED的数量(通用)
[root@zabbix-server sbin]# netstat -nat |awk '$NF ~ "ESTABLISHED"{aaa[$NF]++}END{for(i in aaa){print aaa[i],i}}'
31 ESTABLISHED、
# 匹配/dev/sd开头的
df -Th |sed -rn '/^\/dev\/sd/p'
# 打印/dev/sda的利用率
df -Th |sed -rn '/^\/dev\/sda/s#.* ([0-9]{1,3})%.*#\1#p'
【xargs】
[root@centos ~]# find /etc -name passwd
/etc/pam.d/passwd
/etc/passwd
[root@centos ~]# find /etc -name passwd | ls -l
total 0
可以看到,此时并没有按照我们的期望输出结果,此时使用 xargs 命令可以解决该问题:
[root@centos ~]# find /etc -name passwd | xargs ls -l
-rw-r--r--. 1 root root 168 Apr 7 2020 /etc/pam.d/passwd
-rw-r--r-- 1 root root 1541 May 21 11:32 /etc/passwd
【cut】
[cut]
语法:
cut [options] filename
options参数说明:
-f 提取范围,列号,获取第几列
-d 自定义分隔符
-c 以字符为单位进行分割
-b 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-n 与“-b”选项连用,不分割多字节字符;
【echo】
语法:echo [-ne][字符串]或 echo [--help][--version]
参 数:
-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
--help 显示帮助
--version 显示版本信息
echo 输出颜色
输出格式: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"
示例: echo -e "\033[1;32mwujunije\033[0m" 输出wujunjie并且字体颜色为绿色
【tr】
[字符转换]
1) 将输出内容中的字母o替换为数字0
[root@test-db01 ~]# echo "Hello, World" | tr 'o' '0'
Hell0, W0rld
2) 大写转小写
[root@test-db01 ~]# echo "HELLO, world" | tr 'A-Z' 'a-z'
hello, world
3) 小写转大写
[root@test-db01 ~]# echo "HELLO, world" | tr 'a-z' 'A-Z'
HELLO, WORLD
4) 将1、2、3分别转换为a:
[root@test-db01 ~]# echo "12345" | tr '123' 'a'
aaa45
5) 转换连续的一组字符:
[root@test-db01 ~]# echo "abcdef" | tr 'a-c' 'x'
xxxdef
6) 使用-t选项时,转换前后都会一对一转换,如果字符数不相等,多出来的不被转换:
[root@test-db01 ~]# echo "12345" | tr -t '123' 'a'
a2345
[root@test-db01 ~]#
[root@test-db01 ~]# echo "12345" | tr -t '123' 'abcd'
abc45
[删除字符]
使用-d选项删除指定字符;使用-s删除重复的字符;
1) 删除输出中的l和o:
[root@test-db01 ~]# echo "Hello, World" | tr -d 'lo'
He, Wrd
2) 删除空格:
[root@test-db01 ~]# echo "Hello , World" | tr -d ' '
Hello,World
3) 删除连续重复的字符:
[root@test-db01 ~]# echo "aaabbbccc" | tr -s 'a-z'
abc
[转换特殊符号]
1) 转换换行符为逗号
[root@test-db01 ~]# echo -e "aaa\nbbb" | tr '\n' ','
aaa,bbb,[root@test-db01 ~]#
2) 转换制表符
[root@test-db01 ~]# echo -e "aaa\tbbb" | tr '\t' '-'
aaa-bbb
3 服务器常用查看命令
# 查看glibc版本
[root@k8s-master ~]# ldd --version
[root@k8s-master ~]# strings /lib64/libc.so.6 | grep ^GLIBC
[root@localhost ~]# cat /etc/redhat-release #有的可能没这个文件
[root@localhost ~]# cat /etc/os-release
NAME="BigCloud Enterprise Linux"
VERSION="22.10 LTS"
ID="bclinux"
VERSION_ID="22.10"
PRETTY_NAME="BigCloud Enterprise Linux For Euler 22.10 LTS"
ANSI_COLOR="0;31"
# 显示全部的信息
[root@localhost ~]# uname -a
Linux localhost.localdomain 5.10.0-60.70.0.94.oe2203.bclinux.x86_64 #1 SMP Mon Dec 19 17:06:33 CST 2022 x86_64 x86_64 x86_64 GNU/Linux
# 显示处理器类型
[root@localhost ~]# uname -m
x86_64
# 显示内核版本号
[root@localhost ~]# uname -r
5.10.0-60.70.0.94.oe2203.bclinux.x86_64
# 显示操作系统名称
[root@localhost ~]# uname -s
Linux
# 显示主机名
[root@localhost ~]# uname -n
localhost.localdomain
#查看服务器运行时长
[root@localhost ~]# uptime
13:41:14 up 3:31, 3 users, load average: 0.00, 0.00, 0.00
[root@zabbix-server ~]# uptime -p
up 46 minutes
# 显示自系统最后启动以来的时间
[root@zabbix-server ~]# uptime -s
2024-05-10 20:17:36
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
#查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
#查看内 存信息
cat /proc/meminfo
4 用户密码
# 命令
[root@localhost ~]# chage -d 0 -m 0 -M 90 -W 15 admin
-m #密码可更改的最小天数,为0时代表任何时候都可以更改密码
-M #密码保持有效的最大天数
-W #用户密码到期前,提前收到警告信息的天数
-E #帐号到期的日期。过了这天,此帐号将不可用。
-d #上一次更改的日期
-I #停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l #例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
# 查看用户密码情况
[root@wjj-02 home]# chage -l admin
最近一次密码修改时间 :10月 27, 2023
密码过期时间 :3月 13, 2051
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :9999
在密码过期之前警告的天数 :7
#修改密码用不过期 (-1表示永不过期)
[root@wjj-02 home]# chage -M -1 dx_ftp
## 修改所有用户密码都为永不过期(全局配置)
[root@wjj-02 home]# sed -r -i 's/(PASS_MAX_DAYS)\s+([0-9]+)/\1 999/' /etc/login.defs
这个是配置是创建新用户或者是重新修改用户密码后生效
5 端口/进程
#查看端口是否开放
netstat -aptn
#查询进程号所占用的端口号
netstat -anp | grep 进程号
#列出所有端口
netstat -ntlp
#查看80端口占用情况
lsof -i:80
查看端口占用情况
netstat -anp | grep 端口
# 查看程序进程
ps -ef |grep 进程名/pid
ps -aux |grep/pid 进程名 #查看某进程信息
pwdx 进程号 #显示指定进程ID的运行路径。
6 随生成口令
[root@wujj01 yum.repos.d]# yum -y install expect
[root@wujj01 ~]# mkpasswd
1s$LggA3a
[root@wujj01 ~]# mkpasswd
0OQw-ut6w
[root@wujj01 ~]# mkpasswd
iw>7kpKM0
7 Linux命令行小技巧
1 跳转到命令行首行
ctrl+a
2 跳转到命令行末行
ctrl+e
3 删除行首到光标位置的字符
ctrl+u
4 删除光标位置到行尾的字符
ctrl+k
5 历史命令搜索
按下 Ctrl + R 键组合。您将看到一个提示符或搜索提示符,表示您正在进行历史命令搜索
开始键入您要搜索的命令关键字。根据您的输入,终端或编辑器将显示最近匹配的命令
如果找到了您要查找的命令,请按下 Enter 键执行它
如果找到的命令不是您要执行的特定命令,您可以继续按下 Ctrl + R 来查找下一个匹配项,直到找到正确的命令
8 路由
### 添加路由
命令:
sudo ip route add <目标网络> via <网关IP> dev <网络接口>
示例(临时):
[root@wujj01 ~]# ip route add 15.15.24.0/24 via 15.15.26.254 dev eth0
示例(永久):
[root@k8s-testnode1 ~]# cd /etc/sysconfig/network-scripts/
[root@k8s-testnode1 network-scripts]# vim route-ens19
15.15.24.0/24 via 15.15.26.254 dev ens19
### 删除路由
命令:
sudo ip route del 目标网络
示例:
[root@wujj01 ~]# ip route del 15.15.24.0/24
9 网卡
1、查询网卡基本设置
root@pve:~# ethtool ens37
Settings for ens37:
Link detected: no # no代表网卡未激活
2、查询网卡驱动相关信息
root@pve:~# ethtool -i ens37
driver: e1000
version: 6.2.16-3-pve
firmware-version:
expansion-rom-version:
bus-info: 0000:02:05.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
3、使网卡灯闪烁 10 次
ethtool -p ens37 10
10 常用基本命令
【tree】
参数
-a 显示所有文件,包括隐藏文件
-d 只显示目录
-f 显示每个文件的全路径
-i 不显示树枝,常与-f配合
-L 遍历目录的最大层数
示例:
1 只列出根目录的第一层目录结构(-L功能)
[root@maiyat ~]# tree -L 1 /
2 只显示所有的目录,不显示文件
[root@maiyat ~]# tree -d /etc
3 显示完整的目录结构
[root@maiyat ~]# tree -L 1 -f /etc
4 显示完整的目录结构但是不显示树枝部分
[root@maiyat ~]# tree -L 1 -f -i /etc
【rpm】
参数
-i 安装
-v 显示执行过程
-h 显示安装进度(打印#)
-U 升级到新版本
-q 查询(常配合其他参数使用)
-a 查询所有软件
-l 查看软件的安装位置
-f 查看拥有指定文件的软件
-V 校验
常用操作
rpm -ivh xxx.rpm # 安装
rpm -ql 软件全名 # 查看安装位置
rpm -Uvh xxx.rpm # 更新(没安装过的安装再更新)
rpm -Fvh xxx.rpm # 更新(没安装过的不会更新)
rpm -e 包名 # 卸载
rpm -qa # 查询已安装的软件
rpm -q 软件名 # 查询软件是否安装
实用技巧
rpm -qf 文件 # 查看文件属于哪个软件包
rpm -Va # 查看所有软件包缺失了哪些文件
rpm -Vf 需要验证的包 # 查看软件包是否完整
rpm -qi 软件包 # 查看软件包的相关信息
rpm -ql 软件包 # 查看软件包会安装哪些文件
rpm -i ftp.xxx.com/root/xxx.rpm # 通过ftp远程安装
【top】
[root@jie nginx]# top
常用的Top指令有:
top:启动top命令
top -c:显示完整的命令行
top -b:以批处理模式显示程序信息
top -S:以累积模式显示程序信息
top -n 2:表示更新两次后终止更新显示
top -d 3:设置信息更新周期为3秒
top -p 139:显示进程号为139的进程信息,CPU、内存占用率等
top -n 10:显示更新十次后退出
除此之外,在top进程运行过程中,两个最重要的功能是查看帮助(h 或 ?)和退出(q 或 Ctrl+C)
【top 信息详解】
top展示界面由从上到下3部分组成:
1 概览区域
2 表头
3 任务区域
4 还有一个输入/消息行,位于概览区域和表头之间
1) 概览区详解
# 第一行
top - 19:45:53 up 28 min, 2 users, load average: 0.00, 0.00, 0.00
程序或者窗口的名称:top
当前时间和系统的启动时间:14:46:08 up 5:46
总共的用户数量:1 user
过去1、5和15分钟的系统平均负载:load average: 0.00, 0.00, 0.00
# 第二行
Tasks: 186 total, 1 running, 185 sleeping, 0 stopped, 0 zombie
该信息对Task进行分类,包括running、sleeping、stopped、zombie四类,显示了系统中正在运行的任务的状态统计信息。具体来说,这里有291个任务总数,其中有1个任务正在运行,212个任务正在睡眠,0个任务已停止,0个任务为僵尸进程
# 第三行
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.2 hi, 0.0 si, 0.0 st
显示CPU的状态百分比
%Cpu(s): CPU使用率的统计信息。
us (user): 用户空间进程占用CPU的时间百分比。
sy (system): 内核空间进程占用CPU的时间百分比。
ni (nice): 用户进程以优先级调整过的占用CPU的时间百分比(通常不会有这个值)。
id (idle): CPU空闲的时间百分比。
wa (IO-wait): CPU等待I/O操作的时间百分比。
hi (hardware interrupt): CPU处理硬件中断的时间百分比。
si (software interrupt): CPU处理软件中断的时间百分比。
st: 被虚拟化环境偷取的时间百分比(通常不会有这个值)。
# 第4行
MiB Mem : 1454.4 total, 1018.3 free, 186.8 used, 249.3 buff/cache
14246.8 total — 物理内存总量
304.8 free — 空闲内存总量
5323.7 used — 使用中的内存总量
8618.3 buff/cache — 缓存的内存量
备注:free显示的数字小并不见得就是内存快不够用了,由于服务器内核并不会把过去使用过但可以被重复使用的内存释放出来,所以free对应的值会越来越小。但若第五行swap中used的数字在不断的变化,则代表内核在不断进行内存和swap的数据交换,此时才是真正的内存不够用了。
# 第5行
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 967.7 avail Mem
2048.0 total — 交换区总量
2048.0 free — 空闲交换区总量
0.0 used — 使用的交换区总量
967.7 avail— 缓冲的交换区总量
# 针对于第4行第5行:
默认单位是KiB,使用按键E可以切换为MiB、GiB、TiB、PiB、EiB
KiB = kibibyte = 1024 bytes
MiB = mebibyte = 1024 KiB = 1,048,576 bytes
GiB = gibibyte = 1024 MiB = 1,073,741,824 bytes
TiB = tebibyte = 1024 GiB = 1,099,511,627,776 bytes
PiB = pebibyte = 1024 TiB = 1,125,899,906,842,624 bytes
EiB = exbibyte = 1024 PiB = 1,152,921,504,606,846,976 bytes
3 )任务区
任务区是按照列的形式来显示的,并且有多个字段可以用来查看进程的状态信息
任务字段介绍
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1548 root 20 0 9496 3724 3268 R 5.0 0.3 0:00.02 top
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
# S:Process Status,表示进程状态信息
D: 不可中断休眠
I:空闲
R:运行中
S:休眠
T:被任务控制信号停止
t:在跟踪期间被调试器停止
Z:僵尸
在top主页面,可以用以下命令:
命令 | 功能 |
---|---|
h、? | 帮助信息查看,涵盖所有的快捷键 |
空格、回车键 | 手动刷新界面信息 |
q、ECS键 | 退出 |
B | 粗体显示功能 |
d、s | 改变时间间隔 |
E、e | 切换内存显示的单位,从KiB到EiB |
g | 然后输入1-4其中一个数字,选择哪种窗口(1.默认 2.任务 3.内存 4.用户) |
H | 进程、线程显示切换 |
k | 输入PID信息,杀掉一个任务 |
z | 改变配色 |
【DNS解析工具】
nslookup
host
dig
【日常总结扩展】
1)找出 /tmp 目录下以.conf结尾的文件,并且统计每个文件的行数并且取出行数最多的两个文件
find /tmp -name *.conf |xargs wc -l |grep -v "用量" |head -3
2) 权限复制 #b.txt文件权限复制a.txt的权限
chown --reference=a.txt b.txt
【 linux快捷键命令】
1.Ctrl+a:光标迅速回到行首。
2.Ctrl+b:光标向左移动一个字符。
3.Ctrl+c:强制停止当前命令。(注意这里没有复制的意思,在linux中他不能用于复制)
4.Ctrl+d :退出当前shell命令行,如果是切换过来的用户,则执行这个命令回退到原用户,即退出操作,相当于logout。
5.Ctrl+e:光标迅速回到行尾。
6.Ctrl+f:光标向右移动一个字符。
7.Ctrl+g:从Ctrl+r的搜索历史命令模式中退出。
8.Ctrl+h:删除光标前的一个字符。
9.Ctrl+k :剪切(删除)光标处到行尾的所有字符。
10.Ctrl+l :清除屏幕所有的内容,并开启一个新的一行。
11.Ctrl+q:解锁ctrl+s的锁定状态。
12.Ctrl+r:搜索命令行使用过的历史命令记录。
13.Ctrl+s:锁定终端冻结stdin,使之任何人无法输入(使用Ctrl+q可以恢复输入)
14.Ctrl+t:交换光标前的两个字符。
15.Ctrl+u:剪切(删除)光标处到行首的所有字符。
16.Ctrl+w:剪切(删除)光标前的一个字符。
17.Ctrl+y:粘贴 ctrl+k、ctrl+u、ctrl+w删除的字符。
18.Ctrl+z:暂停在终端运行的任务,使用"fg"命令可以使暂停恢复。