咸鱼的鱼

导航

Linux运维命令总结(-)

Linux运维命令总结(-)
 此次整理linux运维常用命令13个,常用linux运维命令大概有150个,约占百分之十,大牛见笑,本人菜鸟一枚不才整理如下,如有不正确之处,请多多指正。

1、创建目录/data

Make directory 创建目录的命令mkdir filename,例子如下:

创建单个目录

[root@oldboy ~]# mkdir /data

递归创建多个目录

[root@oldboy ~]# mkdir /data/oldboy/a/b

2、显示/data目录的信息,例子如下:

ls 显示文件和目录内容

-l long type 长格式显示 –d显示目录的属性信息 –h 以{K,G,M}格式显示

-t 以文件的时间排序 –r倒序排列 –a显示当前目录的所有文件包括隐藏文件,全部显示

[root@oldboy /]# ls -ldh data/

drwxr-xr-x. 2 root root 4.0K Mar 25 11:50 data/

3、创建文件oldboy.txt,例子如下:

Touch创建空白文件,touch命令的主要作用是用来修改文件的时间戳

时间戳:(stat  filename 查看文件的时间戳)

access查看文件内容的时间

modify 往文件中添加或者删除文件的时间

change 改变文件权限书的修改时间

[root@oldboy data]# touch oldboy.txt

图一

 

[root@oldboy data]# echo "I am studying linux." >> oldboy.txt

批量创建文件

[root@oldboy data]# touch test/stu{1..1000}

4、清屏,清除当前窗口的所有正在显示的内容

[root@oldboy data]# clear

5、显示oldboy.txt文件的内容

Cat 显示文件的内容

[root@oldboy data]# cat oldboy.txt

I am studying linux.

>> 代表输出重定向(追加到现有文件内容的后面不会清除已有的文件内容)

<< 代表输入重定向(追加输入重定向,后面跟上字符串)

[root@oldboy data]# cat >> a.txt << EOF   #一般会在写脚本中常用

> My name is guohua!

> My ages is 20!

> My sex man!

> EOF

[root@oldboy data]# cat a.txt

My name is guohua!

My ages is 20!

My sex man!

6、绝对路径与相对路径区别

图二

 

(1)绝对路径:一切都从/根目录开始进行查找,称之为绝对路径;例子如下:

[root@oldboy ~]# cd /etc/sysconfig/network-scripts/

(2)相对路径:一切不从/根目录开始的路径称之为相对路径;例子如下:

[root@oldboy network-scripts]# cat ../network

[root@oldboy data]# cd test/

7、xargs 从标准输入中进行分组

从b.txt文件中输入每行按两个字段排序

[root@oldboy data]# xargs -n 2 < b.txt

1 2

3 4

5 6

7 8

9 10

11 12

13 14

15 16

17 18

19 20

8、cut按一定的规则提取文件中的内容

提取b.txt文件中的第一个字段,以空格为分割

-d 分割符 –f 字段提取第一列 –c 按字符提取 –b按字节提取

[root@oldboy data]# cut -d ' ' -f1 b.txt

1

5

9

13

17

9、重定向特殊符号

图三

 

>或>> filename 2>&1 等于 &>

2>&1代表输出正确重定向做什么操作输出错误重定向就做什么操作,例子如下:

[root@oldboy data]# echo "welcome to beijng." >> oldboy.txt 2>&1

[root@oldboy data]# cho "welcome to beijng." >> oldboy.txt 2>&1

相当于

[root@oldboy data]# echo "Welcome to guangzhou."&>> b.txt

输出正确重定向与输出错误重定向共同指向同一个文件a.txt

[root@oldboy data]# echo "welcome to shanghai." > a.txt 2> a.txt

10、cp拷贝文件与目录

-r 递归复制(目录)-p复制文件保持原有所有的属性信息,非系统默认的信息

-a 相当于-pdr   -d复制软链接文件,而非源文件

[root@oldboy data]# cp oldboy.txt /tmp/

[root@oldboy data]# ls -l /tmp/

total 4

-rw-r--r--. 1 root root 70 Mar 25 16:59 oldboy.txt

-rw-------. 1 root root  0 Mar 24 21:34 yum.log

递归复制例子:

[root@oldboy data]# cp -r ../data/ /tmp/

保持源文件的所有属性

[root@oldboy data]# cp -pr ../data/ /tmp/

链接文件拷贝

[root@oldboy data]# cp -d b.txt.bak /tmp/

[root@oldboy data]# ls -l /tmp/

total 8

lrwxrwxrwx. 1 root root    5 Mar 25 17:05 b.txt.bak -> b.txt

drwxr-xr-x. 3 root root 4096 Mar 25 14:52 data

-rw-r--r--. 1 root root   70 Mar 25 16:59 oldboy.txt

-rw-------. 1 root root    0 Mar 24 21:34 yum.log

拷贝-a 相当于-pdr例子

[root@oldboy /]# cp -a /data/ /tmp/

11、mv(move)移动文件或者目录到别的目录

移动/data目录到/root目录下

[root@oldboy ~]# mv /data /root/

如果文件在同一目录下,则进行文件的重命名操作

[root@oldboy data]# mv a.txt.bak a.txt1

12、rm(remove)删除文件或者目录

删除文件,例子如下:

[root@oldboy data]# rm oldboy.txt

rm: remove regular file `oldboy.txt'? y

递归删除目录下的文件,-r 递归删除 –f 强制删除

[root@oldboy /]# rm -rf /tmp/data/

13、find查找文件、目录等内容

查找类型为文件f(file),-name文件名字 –print打印输出

[root@oldboy data]# find . -type f -name "a.txt"

./a.txt

[root@oldboy data]# find . -type f -name "a.txt" -print

./a.txt

查找文件为oldboy.txt

[root@oldboy data]# find /data/ -type f -name "oldboy.txt"

/data/oldboy.txt

删除oldboy.txt

[root@oldboy data]# find /data/ -type f -name "oldboy.txt" -exec rm {} \;

重命名oldboy.txt.bak为oldboy.txt

[root@oldboy data]# find /data/ -type f -name "oldboy.txt.bak" -exec mv {} oldboy.txt \;

查找所有以.Txt结尾的文件,按一行排列

[root@oldboy data]# find /data/ -type f -name "*.txt" | xargs

/data/b.txt /data/oldboy.txt /data/a.txt

查找所有以.Txt结尾的文件,按两行排列

[root@oldboy data]# find /data/ -type f -name "*.txt" | xargs -n 2

/data/b.txt /data/oldboy.txt

/data/a.txt

查找所有以.Txt结尾的文件,按两行排列并删除

[root@oldboy data]# find /data/ -type f -name "*.txt" | xargs rm –f

[root@oldboy data]# rm –f /data/b.txt /data/oldboy.txt /data/a.txt

Moditify time时间段分析:

-mtime + num代表num天以前的数据

-mtime num 代表 第num天的数据

 

-mtime – num代表最近num天的数据

 

查找/var/log目录,类型为文件f(file) ,名称为*.log结尾,修改时间为1天以前的文件

[root@oldboy log]# find /var/log/ -type f -name "*.log" -mtime +1 | xargs

查找/var/log目录,类型为文件f(file) ,名称为*.log结尾,修改时间为第1天的文件

[root@oldboy log]# find /var/log/ -type f -name "*.log" -mtime 1 | xargs

查找/var/log目录,类型为文件f(file) ,名称为*.log结尾,修改时间为最近1天的文件

[root@oldboy log]# find /var/log/ -type f -name "*.log" -mtime -1 | xargs

/var/log/audit/audit.log /var/log/anaconda.ifcfg.log /var/log/anaconda.program.log /var/log/prelink/prelink.log /var/log/dracut.log /var/log/anaconda.log /var/log/anaconda.yum.log /var/log/anaconda.storage.log /var/log/yum.log /var/log/boot.log

删除/var/log目录,类型为文件f(file) ,名称为*.log结尾,修改时间为最近1天的文件

[root@oldboy log]# find /var/log/ -type f -name "*.log" -mtime -1 | xargs rm –f

查看最近1天以.log结尾的文件是否还存在

[root@oldboy log]# ls -l

total 660

-rw-------. 1 root root 145729 Mar 24 21:42 anaconda.syslog

-rw-------. 1 root root  35064 Mar 24 21:42 anaconda.xlog

drwxr-x---. 2 root root   4096 Mar 25 18:18 audit

-rw-------. 1 root utmp    384 Mar 24 22:22 btmp

drwxr-xr-x. 2 root root   4096 Mar 24 22:23 ConsoleKit

-rw-------. 1 root root   9172 Mar 25 18:10 cron

-rw-r--r--. 1 root root  89640 Mar 25 09:30 dmesg

-rw-r--r--. 1 root root  89640 Mar 24 22:22 dmesg.old

-rw-r--r--. 1 root root 146000 Mar 25 17:55 lastlog

-rw-------. 1 root root    640 Mar 25 09:31 maillog

-rw-------. 1 root root 206021 Mar 25 10:32 messages

drwxr-xr-x. 2 ntp  ntp    4096 Nov 24  2013 ntpstats

drwxr-xr-x. 2 root root   4096 Mar 25 18:18 prelink

drwxr-xr-x. 2 root root   4096 Mar 25 09:30 sa

-rw-------. 1 root root   4376 Mar 25 17:55 secure

-rw-------. 1 root root      0 Mar 24 21:39 spooler

-rw-------. 1 root root      0 Mar 24 21:37 tallylog

 

-rw-rw-r--. 1 root utmp  18048 Mar 25 17:55 wtmp

posted on 2019-03-30 04:09  Holy_Shit  阅读(263)  评论(0编辑  收藏  举报