面授班命令记录(更新中)

1. ls     命令  ---2018年3月23日 9:20:50
ls [list] 列出文件或目录

常用参数:
ls [list] 列出文件或目录长格式查看
      例子:[root@localhost chenleilei]# ls -l
           total 4
           -rw-r--r-- 1 root root 0 Mar 30 18:41 1.txt
           drwxr-xr-x 2 root root 4096 Mar 30 18:42 chen111

ls -lrt 按时间倒序查看
           [root@localhost chenleilei]# ls -lrt
           total 4
           -rw-r--r-- 1 root root 0 Mar 30 18:41 1.txt
           drwxr-xr-x 2 root root 4096 Mar 30 18:42 chen111

ls -ld 查看目录权限,而非文件权限。 [查看目录权限。常用]
        例子:
        [root@localhost chenleilei]# ls -ld /var/
        drwxr-xr-x. 20 root root 4096 Mar 7 18:43 /var/


--color 按颜色排序
        [root@localhost chenleilei]# ls -l --color=auto
        total 4
        -rw-r--r-- 1 root root 0 Mar 30 18:41 1.txt
        drwxr-xr-x 2 root root 4096 Mar 30 18:42 chen111

--color = anto 过滤出的结果改变颜色
        [root@localhost chenleilei]# ls -l --color=auto
        total 4
        -rw-r--r-- 1 root root 0 Mar 30 18:41 1.txt
        drwxr-xr-x 2 root root 4096 Mar 30 18:42 chen111 ##目录变色

ls -h 人性化显示
        [root@localhost chenleilei]# ls -h
        1.txt chen111

ls -r 倒序查看
        [root@localhost chenleilei]# ls -r
        chen111 1.txt

ls -t 按时间排序
        [root@localhost chenleilei]# ls -t
        chen111 1.txt

ls -d 查看目录
        [root@localhost chenleilei]# ls -d /root/chenleilei/
        /root/chenleilei/

ls -F 给目录增加 / 标识 与 [ ls -P ] 一样
        [root@localhost chenleilei]# ls -F
        1.txt chen111/ ##目录有 / 符号

ls -i 列出文件inode 节点号
        [root@localhost chenleilei]# ls -i
        391734 1.txt 391735 chen111

ls / 查看根目录下 和某目录下所以文件

ls -lS 按照文件大小排序【这个命令很少知道的】
        [root@localhost chenleilei]# ls -lS
        total 12
        drwxr-xr-x 2 root root 4096 Mar 30 18:42 chen111
        -rw-r--r-- 1 root root 156 Mar 30 18:51 3.txt
        -rw-r--r-- 1 root root 85 Mar 30 18:50 1.txt
        -rw-r--r-- 1 root root 0 Mar 30 18:50 2.txt

ls -l 长格式显示文件名
--time-style=long-iso 按照人类易读的格式显示 ls -lrt --time-style=long-iso
        [root@localhost chenleilei]# ls -lrt --time-style=long-iso
        total 12
        drwxr-xr-x 2 root root 4096 2018-03-30 18:42 chen111
        -rw-r--r-- 1 root root 85 2018-03-30 18:50 1.txt
        -rw-r--r-- 1 root root 0 2018-03-30 18:50 2.txt
        -rw-r--r-- 1 root root 156 2018-03-30 18:51 3.txt


ls -lhi --time-style=long-iso
        [root@oldboy ~]# ls -lhi --time-style=long-iso /oldboy/ \\人性化显示具体时间
        [root@localhost chenleilei]# ls -lhi --time-style=long-iso /root/chenleilei/
        total 12K ##与上面不同
        391734 -rw-r--r-- 1 root root 85 2018-03-30 18:50 1.txt
        391738 -rw-r--r-- 1 root root 0 2018-03-30 18:50 2.txt
        391739 -rw-r--r-- 1 root root 156 2018-03-30 18:51 3.txt
        391735 drwxr-xr-x 2 root root 4.0K 2018-03-30 18:42 chen111


ls * | xargs rm ## 批量删除文件
注意:默认以 . 开头结尾的都是隐藏文件.

2. rm 命令  --2018年3月23日 9:20:54
rm [参数] 文件名
-r : 删除目录
-f : 强制删除
-rf: 强制删除目录及文件

3.mkdir 命令 (make directory) ---2018年3月23日 9:20:58
例子:
mkdir [文件名]

mkdir参数:
-p : 创建目录 如已存在目标目录则更新时间戳。如果没有目录,则创建目录。
例子:mkdir -p /root/oldboy

4.cd 命令   change directory   --2018年3月23日 9:21:05
Change Directory 改变目录路径
cd /etc 切换目录

5.pwd  命令  print working directory   --2018年3月23日 9:21:08
[root@oldboy ~]# pwd
/root

6、touch 创建文件或修改文件时间戳 [如果文件存在就修改时间戳,如果不存在则创
建文件]
-d 访问时间
-m 修改时间
touch -d : 更改文件的访问时间
touch -m : 更改文件的修改时间
touch -d -m:更改文件的修改时间和访问时间

案例:
touch修改时间戳实例: touch -m -d "2015-10-10 08:10:59" 1.txt
touch修改时间戳实例:touch -m 2015101008:10:32 1.txt

touch echo {1..50000} | xargs touch ##批量创建文件

ls * | xargs rm ## 批量删除文件

7.vi 命令   --- 2018年3月23日 9:37:31 
命令格式:
vi [文件名]
vim [文件名]

vi中常用 wq i a

vi/vim中参数

文件内容内容未编辑前:
/:查找
i : 插入进入编辑模式 常用
n : 继续搜索下一条 常用
N : 反向搜索下一条 常用
--------------
搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换

退出保存 wq
退出强制保存 wq!
强制退出不保存 q!
光标移动到文件的最后一行 G
光比移动到文件的第一行 gg
从光标所在位置移动到当前行的开头 ^0 或 home
从光标所在为知移动到当前行的结尾 $ 或 end
取消上一次的动作 u
删除一行 dd 删除N行 Ndd 如: 8dd 删除8行
向下搜索 /字符 N n 重复搜索
向上搜索 ?字符
--------------
其他参数:
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行 I




复制 yy
粘贴  p
删除  dd
删除到文件的结尾  dG
删除光标位置到行尾的内容并进入编辑模式 C
删除光标位置到捍卫的内容  D
删除当前行到 到最后一行  :  dG
快速退出并且保存   ZZ
-----常用参数----
 i或a 编辑
 :wq 保存
 :q 退出


vim 中可以使用 上下左右 
h 左        k上          l 右    j 下



8.echo 输出命令 2018年3月23日 10:07:25
echo ‘1’ 输出1
echo 输入到指定文件: echo ‘111’ >>1.txt #追加输入
echo ‘1111’ >q.txt # 覆盖输入

echo 会自动创建不存在的文件 如 echo ‘123’ >/1.txt 没有1.txt则自动创建 1.txt

定向错误消息到 文件中
echo >>/oldboy.txt
echo 2>>/oldboy.txt
echo oldboy >>1.txt 2>&1 #错误与正确的信息放到一个文件中
如:
ech 2>>1 在命令错误的时候 重定向前加入 2 则把错误信息定向到1 的文件中 而不直接显示在命令行中

echo -n   不输出回车
echo -e 让echo 支持转义字符  \n \t


9.cat  查看文件内容/输入字符到文件内  2018年3月23日 10:27:04
cat 文件名


cat > q.txt << EOF

>>EOF 注:退出编辑状态

eof状态下 < 覆盖 <<追加

cat /etc/

[root@~]# cat >>2.txt
111111111111111
 ^C #(注意一定要换行后 ctrl+c 不然就相当于没写入文件)

 cat -b : 显示行号,但不显示空行
 cat -n : 显示行号,所有行号都显示
 cat -E : 为每行结尾加上 $ 符号
 cat -s : 如果一个文件中有多个空行,则显示一个空行, 不连续的多个空行也是显示一个空行
 cat  -A  显示文件中所有的符号,结尾  $   tab ^I   是tab键





10.xargs    2018年3月23日 11:17:02
把结果 显示出来
-n 分组
如:
xargs -n 2 1.txt

11.cp      2018年3月23日 11:17:07
cp [选项] [参数]

-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-a:此参数的效果和同时指定"-pdR"参数相同;
    -p 复制文件保持属性不变
    -r 递归复制
-t: 前面命令的结果,t代表之前的结果.
    如:find / -type f -size +1M -name "*.log" | xargs cp -t /tmp ### -t 为搜索到的结果 cp -t /tmp 就是把结果拷贝到 /tmp 中
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

例子:
将/user/men 目录中文件复制到 /user/zh中
答:cp -r /usr/men /usr/zh  

12.mv 移动命令 
mv 移动文件 或者文件夹 
mv  1.txt    2.txt   --->具有改名功能

mv /oldboy/*  /tmp



13.find 命令    2018年3月26日 9:15:53
参数 :
-type 文件类型
-f 文件
-d 目录
-name 文件名
-exec
通配符:
* 任意的意思

例子:
[root@oldboyedu-sh01 ~]# find / -type f -name '1' ##查找1 这个文件
[root@oldboyedu-sh01 ~]# find /root -type f -name '*.txt' ## 查找任意以txt结尾的软件

find小结:
1.find命令可以防止误删除,精确查找文件
-type f d i l
-name: 名字
 * : 匹配所有

2. | 管道符号 ---- 把前面的结果传递给后面的命令。

3. find命令 一般与 | xargs 结合使用的

4. -exec 用法
find /usr/ -type f -size +100k -name "*" -exec cp {} /tmp \; ##把查找的内容 移动或者拷贝到另一个目录中


14.alias 别名 2018年3月26日 11:10:08
设置别名显示别名
alias rm='echo rm command' ##设置一个别名

使得生效:
source /etc/profile

设置重启后也生效的办法:
 echo 'alias rm='echo rm command by'' >>~/.bashrc1234


配置别名小结:
配置别名生效
临时
永久
配置检查

    
15.vi  vim 使用 2018年3月26日 11:12:28
u 撤销
shift G到达尾部
gg 头部
o 下一行开始进入编辑
10gg 到达第十行
p 粘贴
a 编辑

16.source    2018年3月26日 11:44:12
使得配置文件生效
source /etc/profile

17 man  --help    2018年3月26日 11:44:12
man 帮助
help 帮助

18.grep 三剑客老二
grep 过滤文件内容
grep -v     排除文件内容
grep -w    只显示全字符合的列。
grep -x     只显示全列符合的列。
grep -e    使用正则
grep  -i     忽略字符大小写的差别
grep  -A   <显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容
grep  -C   <显示列数> 或-<显示列数>  除了显示符合范本样式的那一列之外,并显示该列之前后的内容
grep -o     显示匹配的过程(不是很常用)  每次找到的了什么会显示出来  以空格和字符为分割
 
19.tail
tail 查看文件尾部N行 默认 尾部10行
tail -f 显示文件最后几行的实时更新
tail -F 相当于 -f --retry 没有文件的时候会无限重试(不常用)


20.head
查看文件的头部N行  默认显示前10行
head -n 10 text.txt


21. awk 三剑客之一 老大
awk 取行 取列
awk nr==10 1.txt 显示文件第十行
awk nr>10 1.txt 显示文件 1-9行
awk nr<10 1.txt 显示大于 10行以后的所有行

AWK 取列:
awk “NR==20” 第20列
$1 第一列
‘{print NR,$0}’ 先运行空格括号里面的

$1 取第一列 $2 取第二列 以此类推
$0 取一整行

!    叹号   取反    例子:  awk 'NR==2{print $NF}'
-v 用来修改内置的变量
    如:  -vOFS=: 
awk -F: -vOFS=:  '{tmp=$NF;$NF=$1;$1=tmp;print $0}'  /etc/passwd
'NR==20' 取第二十行
NR>10&&NR20> 取中间行号





22. sed 三剑客之老三  2018年3月27日 0:00:45

-n 取消默认输出
-p 打印
-g 需与s配合,配合后的效果为 全局替换
-s 查找
-i 修改,插入 后面加 sed -i.bak 指修改后备份文件
-r 支持正则
-d 删除行

sed  -i  修改文件内容    sed -i 's/book/books/g' file
sed -r 使用扩展正则

s  查找
g  替换    sg 一般一起用  查找替换  如: 

-n  取消默认输出
-p 打印

sed 增加内容:
sed 's'    查找      

sed -n 2p 1.txt   #取出文件的第二行
sed -n 1,2p 1.txt # 显示文件的 1-2行

sed “s#123#122#g” 1.txt 

sed '/^$/d' file  删除空白行
sed '2d' file    删除第二行
sed '2,$d' file  删除第二行到最后一行的所有行
sed '$d' file   删除最后一行
sed '/^test/'d file   删除所有text 开头的行




参数:


特殊符号参数:
.*$ 匹配到一行的末尾
^$ 空格
(.*) 结果
p 打印输出结果
sg 全局替换 s# 查找的内容 # 要替换的内容 #g

编辑模式参数:
-i 编辑模式中i 是在 XXX 字符前一行写入 例子: sed '2a 106,dandan,cso' oldboy.txt
      [-i 在搜索添加的过程中是 多行匹配添加 指 一旦匹配上即在前一行写入指定字符]
-a 编辑模式中a 是在 xxx 字符后一行写入 例子: sed '2i 106,dandan,cso' oldboy.txt
      [-a 在搜索添加的过程中是 多行匹配添加 指 一旦匹配上即在后一行写入指定字符]


快速一行命令:
    's//.$//g' 删除以句点结尾行
    '-e /abcd/d' 删除包含abcd的行
    's/[][][]*/[]/g' 删除一个以上空格,用一个空格代替
    's/^[][]*//g' 删除行首空格
    's//.[][]*/[]/g' 删除句号后跟两个或更多的空格,用一个空格代替
    '/^$/d' 删除空行
    's/^.//g' 删除第一个字符,区别 's//.//g'删除所有的句点
    's/COL/(.../)//g' 删除紧跟COL的后三个字母
    's/^////g' 删除路径中第一个/

-------------------------
常用 :
例子:
取出 eth0 的IP地址:
[root@oldboy ~]# ifconfig eth0 | sed -nr '2s#^.*addr:(.*) Bc.*$#\1#gp'
10.105.247.169



sed 增删改。
sed增:---------------------------------------------------------------------------

初始数据:
[root@oldboy ~]# cat 2.txt
111
222
333
444

例子: 推荐使用指定行 行后新增内容
1.1 指定行前新增 [N;4i 在第四行新增内容,替代第四行] ---- N=行号
[root@oldboy ~]# sed -i 'n;4i wo shi di 4 hang zai 444 de qianmian' 2.txt
[root@oldboy ~]# cat -n 2.txt
     1 111
     2 222
     3 333
     4 wo shi di 4 hang zai 444 de qianmian
     5 444

1.2 指定行后新增[N;4a 第四行后面新增单行内容 ]
[root@oldboy ~]# sed -i '4a wo zai disihang de houmian wo shi diwu hang ' 2.txt
[root@oldboy ~]# cat 2.txt -n
     1 111
     2 222
     3 333
     4 444
     5 wo zai disihang de houmian wo shi diwu hang

1.3 指定行号后新增多行内容 [4a555\n666] 增加了 555 和666
[root@oldboy ~]# sed '4a555\n666' 3.txt
111
222
333
444
555
666

1.4 指定行号后不换行增加内容
[root@oldboy ~]# sed 's/2$/&555.666/g' 3.txt
111
222555.666
333
444
sed增...结束--------------------------------------------------------------------------------

sed删...开始--------------------------------------------------------------------------------
sed删:

例子1: 删除匹配的行号内容
sed -i '4,5d' 3.txt

例子2:
2.5 删除指定行号后的所有内容
sed -i '4,$d' 3.txt

例子3:
2.5 删除多个连续行号的内容
sed -i '1,4d' 3.txt 删除1-4行

例子4:
2.5删除以xxx开头的一行
sed -i '/^chenleilei/d' /etc/group 删除 /etc/group 文件中 chenleilei 这一行

2.6 删除某行一直到最后一行。
sed -i '/777/,$d' 1.txt

2.7 基数形式删除
sed '1~2d' 1.txt
表示 从1开始删除,每隔两行删除一次
1234 1被删除 前进两位到3. 3 被删除,所以最终结果是 222 444 还在。


sed删结束----------------------------------------------------------------------------------


sed改:
sed改--------------------------------------------------------------------------------------
案例1: 把文件中的所有 777 改成 888
[root@oldboy ~]# sed -i 's#777#888#g' 1.txt ******常用
[root@oldboy ~]# cat 1.txt
111
222
333
444
555
666
888
888

sed软件替换模型(方框▇被替换成三角▲)
sed -i 's/▇/▲/g' oldboy.log
sed -i 's#▇#▲#g' oldboy.log
sed改 结束---------------------------------------------------------------------------------


案例2: 对指定的行进行修改
[root@oldboy ~]# sed '3s#333#999#' 1.txt
111
222
999
444
555

sed查:

案例1: 查询文件中的某一行:
[root@oldboy ~]# sed -n '2p' 1.txt
222
案例2: 查询文件中的多行
[root@oldboy ~]# sed -n '1,3p' 1.txt
111
222
333
案例3: 查看一个文件中的所有内容
[root@oldboy ~]# sed -n 'p' 1.txt
111
222
333
444
555
案例4: 按字符查询
[root@oldboy ~]# sed -n '/33/p' 1.txt
333

案例5:取反查询
[root@oldboy ~]# sed -n '/33/!p' 1.txt \\取行最好用sed -n 先取消默认输出再取
111
222
444
555
666

案例6:匹配查询
[root@oldboy ~]# cat 1.txt
111
222
333
444
555
[root@oldboy ~]# sed -n '/222/,10p' 1.txt
222
333
444
555
444


23. seq  生成数列
seq 100 >1.txt


24. uname  r m
uname -r 内核版本
uname -m 系统版本

25 useradd 
useradd   创建用户
-u    指定uid
-s    指定 bash    常用的bash   (/bin/bash /sbin/nologin
-M   不创建家目录
-g    指定用户组的名字





26. su  切换用户    shitch user
切换用户 使用 su -

su -  切换用户的时候 更新用户的环境变量

su -c 切换到一个shell 下执行一个命令然后返回
    例子: su - oldboy -c pwd ## 进入oldboy 输入pwd 然后回来

su -c  的应用场景:

如一个服务只能使用 另一个普通用户来启动,这时 这个该怎么做呢?  以上命令就处理了此类问题
sudu -c oldboy -c '/bin/sh /home/eddoc/bin/deploy.sh'



27. getenforce  查看SElinux状态
getenforce

28. setenforce 0  设置状态    /etc/selinux/config
SELINUX的几种状态
enforcing 开启
permissive 旁路
disabled 关闭
       
29. reboot    重启 2018年3月28日 9:56:22
reboot 重启

30  shutdown   2018年3月27日 22:47:49
shutdown -c 取消关机
shutdown -r 10 10分钟重启
shutdown -h 10 10分钟关机

31 mount       挂载   2018年3月28日 9:56:49
mount /dev/sr0 /dev/mnt 挂载到 mnt目录中
mount /dev/cdrom /mnt/cdrom/

32 umount      卸载  2018年3月28日 9:56:58
uount  卸载一个挂载的目录

33. df 命令2018年3月28日 13:47:57
df -h 人性化显示磁盘大小
df -i 显示inode 数量

34. hostname  2018年3月29日 10:13:44
hostname 显示主机名
hostname oldboy 临时修改主机名
vi /etc/sysconfig/network 修改hostname 选项

35 rpm     2018年3月29日 10:13:48
rpm -ivh 安装rpm包
-i install 安装
-v 显示过程
-e 卸载
-q 查询
-qa 查询 显示所有。。 grep 查询特定软件
-ql 显示软件包列表


rpm -ivh 安装rpm包
rpm -e  删除安装包
rpm -qf 显示文件或者命令属于哪个软件包
rpm -ivh your-package.rpm #安装软件包
rpm -e proftpd-1.2.8-1 #卸载安装包
rpm -qa | grep sql ## 查找已经安装的包
rpm -q mysql ##获取安装软件的全名(不常用)
rpm -ql 包名 ##查询安装包安装路径(包名不含后缀)

某个程序是哪个软件包安装的,或者哪个软件包包含这个程序(不常用):
                                        rpm -qf `which 程序名` #返回软件包的全名
                                        rpm -qif `which 程序名` #返回软件包的有关信息
                                        rpm -qlf `which 程序名` #返回软件包的文件列表

36. yum   安装软件     
yum -y install lrzsz

1.使用YUM查找软件包
命令:yum search
2.列出所有可安装的软件包
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在 Yum Repository 内的软件包
命令:yum list extras
6.列出所指定的软件包
命令:yum list
7.使用YUM获取软件包信息
命令:yum info
8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
10.列出所有已安装的软件包信息
命令:yum info installed
11.列出所有已安装但不在 Yum Repository 内的软件包信息
命令:yum info extras
12.列出软件包提供哪些文件
命令:yum provides

40. history  历史命令
history  -10  查看历史 10条

41.  tar
参数:
#### ----- 打包前一定要回到 / 目录 然后开始打包。

-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-c -x -t 这三个参数 一句命令中 只能存在一次。不可同时存在。
-h : #打包中包含软连接文件,需要添加 h 参数
 -v : 显示解压或者压缩的过程 (常用)
 -z : 使用 gzip 压缩 一般格式为xx.tar.gz或xx. tgz
 -j : 使用bzip 压缩 一般格式为xx.tar.bz2
 -f : 设置文压缩文件档名 使用方法: tar -zxvPf
 --exclude : 排除 tar xf /tmp/2018-03-30_11.tar.gz -C --exclude 3.sh /tmp
-C :解压到指定目录 tar xf /tmp/2018-03-30_11.tar.gz -C /tmp

案例1: 打包 /html 目录,生成带有日期的压缩包
tar zcf /root/root_$(date +\%F_\%T).tar.gz ./html

案例2:打包24小时以前的文件?
tar zcvf test_$(date %F -d "1day").tar.gz ./test ##这个好像不对

#------还有一个办法打包24小时以前的文件 那就是find+tar

案例3: 只 查询一个包的目录不查询文件
tar tf /tmp/back10.tar.gz | egrep -Ev "/root/chenleilei/.*.txt" #只查询目录

打包24小时以前的文件和目录 :
find /chenleilei -type f -name "*" --exec tar -cvf /tmp/24tar.gz "{}" \;

42.w 查看当前登陆用户
[root@localhost ~]# w
 09:58:47 up 1 day, 20:09, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - Thu16 1:08m 0.05s 0.05s -bash
root pts/0 10.0.0.1 08:25 0.00s 0.64s 0.00s w

43. less   查看文件内容
空格下一页
b 上一页

44.more    
一页页的看 
    
45.tree
列出目录数

tree /root   能查看和统计目录下的文件

46 rz  sz
上传下载命令
rz    上传命令
sz   下载命令

47.unzip  zip
unzip 1.tar
-d<目录>:指定文件解压缩后所要存储的目录
-n:解压缩时不要覆盖原有的文件;
zip

48 tr 命令:
[root@oldboyedu-sh01-lnb oldboy]# echo 123123 |tr "123" "abc"
abcabc
[root@oldboyedu-sh01-lnb oldboy]# echo 321321 |tr "123" "abc"
cbacba
[root@oldboyedu-sh01-lnb oldboy]# echo 33333222221111 |tr "123" "abc"
cccccbbbbbaaaa

替换 把找到的 123 换成 abc  

49 ps 命令 查看进程
ps -ef | grep sshd

50 wc 命令
wc -l 显示一共多少行

51.ps 显示正在运行的进程 2018年4月3日 10:23:03
ps -ef   显示进程pid  cmd

51. netstat
netstat -lntup    显示开放端口

51. nc 检查端口是否开放
例子:nc 127.0.0.1 22

检查 端口是否开放
-g<网关>:设置路由器跃程通信网关,最多设置8个;
-G<指向器数目>:设置来源路由指向器,其数值为4的倍数;
-h:在线帮助;
-i<延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口;
-l:使用监听模式,监控传入的资料;
-n:直接使用ip地址,而不通过域名服务器;
-o<输出文件>:指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存;
-p<通信端口>:设置本地主机使用的通信端口;
-r:指定源端口和目的端口都进行随机的选择;
-s<来源位址>:设置本地主机送出数据包的IP地址;
-u:使用UDP传输协议;
-v:显示指令执行过程;
-w<超时秒数>:设置等待连线的时间;
-z:使用0输入/输出模式,只在扫描通信端口时使用。

52.nmap  
网络端口扫描工具

-p 指定端口号
-p 1-1024 扫描 1-1024 端口


53. traceroute 路由追踪命令
-d 更快的扫描(禁止把IP解析为域名或者主机名 为了加快速度)
traceroute www.baidu.com

54.sort 排序  2018年4月4日 11:57:28
sort 排序命令(默认按照字母排序)
sort -n 排序
sort -rn 倒排序
sort -rnk2 根据某一列排序


55. ps  显示正在运行的进程 
ps  -ef | grep  xxx  查看某个进程
ps -aux  显示进程的详细信息  cpu和内存     vsz是虚拟内存 

56.netstat  显示开放端口
netstat  -lntup   显示开放的端口

57.cut    切割
-d 指定分隔符
-f 指定某列

[root@localhost ~]# cut -d , -f 1 oldboy.txt
I am oldboy

58. last 最近登陆的用户
显示历史登陆用户
[gaojiyunwei1@localhost ~]$ last
root pts/1 10.0.0.1 Sat Apr 7 22:51 still logged in
root pts/0 192.168.72.1 Wed Mar 7 20:03 still logged in
root tty1 Wed Mar 7 20:02 still logged in
reboot system boot 2.6.32-573.el6.x Wed Mar 7 20:02 - 00:29 (31+04:27)
root pts/0 192.168.72.1 Wed Mar 7 18:47 - down (01:14)
root pts/0 192.168.72.1 Wed Mar 7 18:47 - 18:47 (00:00)
root tty1 Wed Mar 7 18:45 - down (01:16)
reboot system boot 2.6.32-573.el6.x Wed Mar 7 18:44 - 20:01 (01:17)  

59 lastlog    所有用户的登陆日志
lastlog
[gaojiyunwei1@localhost ~]$ lastlog
Username Port From Latest
root pts/1 10.0.0.1 Sat Apr 7 22:51:11 +0800 2018
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**

60. od  2018年4月7日 23:38:04
查看二进制文件
[gaojiyunwei1@localhost ~]$ od .bashrc
0000000 020043 061056 071541 071150 005143 021412 051440 072557
0000020 061562 020145 066147 061157 066141 062040 063145 067151
0000040 072151 067551 071556 064412 020146 020133 063055 027440
0000060 072145 027543 060542 064163 061562 056440 020073 064164
0000100 067145 004412 020056 062457 061564 061057 071541 071150
0000120 005143 064546 005012 020043 071525 071145 071440 062560
0000140 064543 064546 020143 066141 060551 062563 020163 067141
0000160 020144 072546 061556 064564 067157 005163
0000174

61.tr  1对1 替换 
    tr -c 去反  除了...之外
    tr -d  删除一个字符    
    tr -cd  "a-z"   </dev/urandom    把文件中除了a-z 的删除 
    tr -dc "a-z" </dev/urandom | head -c10  生成10为字母的字符


62.chmod
chmod  更改权限


62. lsof   过滤端口
[root@localhost ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1857 root 3u IPv4 14160 0t0 TCP *:ssh (LISTEN)
sshd 1857 root 4u IPv6 14169 0t0 TCP *:ssh (LISTEN)
sshd 5749 root 3r IPv4 54425 0t0 TCP 10.0.0.3:ssh->10.0.0.1:7854 (ESTABLISHED)
sshd 6783 root 3r IPv4 77167 0t0 TCP 10.0.0.3:ssh->10.0.0.1:19117 (ESTABLISHED

63.sort  排序 
为文件排序使用  ,sort 会把所有找到的字符  按照次数 一行一行的列出来,如果需要找出有多少个字符 可以使用
grep -o '[a-Z]' oldboy.txt | sort | uniq -c     他会在 出现的字符 前面 添加出现次数
uniq 之前 需要使用sort -h  来给相同字符进行排序 再 使用uniq  -c来计数
sort相同字符排序,uniq统计.
相同的数字出现次数统计:
[root@oldboyedu-sh01 ~]# grep -o '[0-9]' oldboy.txt |sort |uniq -c
      8 0
      1 1
      6 4
      1 5

64. uniq   统计相邻的字符次数  (就是用来合并重复的行)
uniq  统计上下相同的字符 进行合并 
        -c    合并重复的行并显示重复的次数
       
65. file   查看文件类型
[root@localhost ~]# file .tcshrc
.tcshrc: ASCII text

66.id    查看用户信息
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)

67  ln  创建软连接或硬链接
ln     创建硬链接
ln -s 创建软连接

68.lsof    显示被系统打开的文件
  lsof -i:22

69.dumpe2fs    显示磁盘信息
dumpe2fs /dev/sda1    ## 显示文件系统的详细信息

70. ip add  显示IP 网卡信息
[root@localhost ~]# ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:0a:95:db brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.3/24 brd 10.0.0.255 scope global eth0
    inet6 fe80::20c:29ff:fe0a:95db/64 scope link
       valid_lft forever preferred_lft forever
71. ip route 
[root@localhost ~]# ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:0a:95:db brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.3/24 brd 10.0.0.255 scope global eth0
    inet6 fe80::20c:29ff:fe0a:95db/64 scope link
       valid_lft forever preferred_lft forever



ip address    === 可以简写为 ip a 
ip  address  show eth    ===  简写为 ip a s eth0
ip    route    ===  显示路由 网关


71   .route      显示网卡默认网关,路由
        route  -n    不解析(反向解析)
    

72.  tracert  路由追踪信息
[root@localhost ~]# traceroute baidu.com
traceroute to baidu.com (220.181.57.216), 30 hops max, 60 byte packets
 1 10.0.0.2 (10.0.0.2) 0.139 ms 0.094 ms 0.134 ms

73. date  显示和设置时间
date -s  设置时间   如: date -s 2018   
date -d  按照你的描述显示日期
%F 显示    年月日
%T 显示   时分秒
 date -d -7day +\%F_\%T

74. ntpdate  同步时间
ntpdate  time.aliyun.com

75. whereis  找出命令相关文件
[root@localhost ~]# whereis cd
cd: /usr/share/man/man1p/cd.1p.gz /usr/share/man/man1/cd.1.gz

76. locate  根据命令成名称查找文件
locate find
依赖于 locate.db文件   更新使用 updatedb
            
77. chmod   改变权限
    -R 递归改变权限
   ugo 权限对应的   用户 组 其他
chmod 777 1.txt
chmod u+wrx 1.txt
chmod u-wxr 1.txt

78 chown   改变文件所有者  2018年4月19日 8:55:25
改变文件的所有者
chown  root.root    chenleilei     [改变文件所有主,所属组]

78.taif
tail -f   实时显示文件内容的变化,等同于tailf
tail -F  根据文件名追踪,即使文件被删除 ,如果再次创建同名文件也会被追踪显示
tail      默认查看文件后10行

79.telnet
telnet(选项)(参数)
talnet    10.0.0.10   80     用于检测网络或端口是否正常

80.ss
ss -lntup  查看本地开启的端口

81 bc  计算
只能计算整数

82.top  显示系统信息,显示cpu内存磁盘进程等信息
q  退出
空格  更新
P  按照cpu使用率
M 按照内存使用率

83.htop(存在于epel源才可以用)
htop命令不在自带的源中,他属于 epel 源中的软件,所以需要先添加epel源

增加方法:
1.下载
   1. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
   2. yumdownloader htop
2. 更新缓存
yum repolist 
软件界面:

这个软件可以直接用鼠标点击。。

快捷键说明
 p :  按cpu使用率排序
 l  :  倒序排序
s  : 选择进程 使用startce 追踪进程的系统调用
F9:秒杀进程

84.  iotop  (查看磁盘)
显示每个进程的磁盘io
左右箭头:改变排序方式,默认是按IO排序。
r:改变排序顺序。
o:只显示有IO输出的进程。
p:进程/线程的显示方式的切换。
a:显示累积使用量。
q:退出。 

85.  iftop   显示网络流量信息(装了epel源,才能安装iftop)
深入了解:http://www.vpser.net/manage/iftop.html
h:帮助信息
p: 显示端口信息
s:   显示本机的host信息
T:显示每个链接的总流量
j/k : 向上或向下滚动
<   : 按本机流量排序
>   : 按远程主机流量排序

86.passwd
--stdin  非交互式设置密码

87.userdel 删除用户   (默认不删除家目录和邮箱)
userdel -r 删除 家目录和邮箱

88.usermod  修改用户信息
-u  修改uid
-s  修改shell
-g 指定新的用户组
-G 指定用户多个用户组
-c  添加说明信息

89.groupadd  添加用户组
-g   添加用户组并且指定gid

90.  id 显示用户组信息 UID GID
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)

91 last  显示用户登录情况
[root@localhost ~]# last
root pts/0 10.0.0.1 Fri Apr 20 21:44 still logged in
root pts/1 10.0.0.1 Fri Apr 20 16:33 still logged in  

92.lastlog    显示所有用户最近一次登录的信息
[root@localhost ~]# lastlog
Username Port From Latest
root pts/0 10.0.0.1 Fri Apr 20 21:44:11 +0800 2018
bin **Never logged in**
daemon **Never logged in**

93. ipmitool
94 ipmitool: 显示服务器硬件信息cup风扇的转速
原文地址:https://www.cnblogs.com/superlinux/p/d5fe200e74596de3030bc9e9cb163f02.html