linux下面一些命令整理

1.grep

grep 是分析一行信息,若当中有我们所需要的信息,就将该行拿出来~简单的语法是这样的:

[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

范例一:将 last 当中,有出现 root 的那一行就取出来;
[root@www ~]# last | grep 'root'

范例二:与范例一相反,只要没有 root 的就取出!
[root@www ~]# last | grep -v 'root'

范例三:在 last 的输出信息中,只要有 root 就取出,并且仅取第一栏
[root@www ~]# last | grep 'root' |cut -d ' ' -f1
# 在取出 root 之后,利用上个命令 cut 的处理,就能够仅取得第一栏啰!

范例四:取出 /etc/man.config 内含 MANPATH 的那几行
[root@www ~]# grep --color=auto 'MANPATH' /etc/man.config
....(前面省略)....
MANPATH_MAP     /usr/X11R6/bin          /usr/X11R6/man
MANPATH_MAP     /usr/bin/X11            /usr/X11R6/man
MANPATH_MAP     /usr/bin/mh             /usr/share/man
# 神奇的是,如果加上 --color=auto 的选项,找到的关键词部分会用特殊颜色显示喔!
2.wc

这个命令和其他命令结合,可以用用于计算为文件的行数、字数、字符数.

行数是根据换行符个数计算的。

字以空格分割的。

字符数也包括换行符号。

[root@localhost test]# cat -e 1.txt
$
aaaa b$
$
[root@localhost test]# cat 1.txt | wc
      3       2       9


[root@www ~]# wc [-lwm]
选项与参数:
-l  :仅列出行;
-w  :仅列出多少字(英文单字);
-m  :多少字符;

范例一:那个 /etc/man.config 里面到底有多少相关字、行、字符数?
[root@www ~]# cat /etc/man.config | wc 
    141     722    4617
# 输出的三个数字中,分别代表: 『行、字数、字符数』

范例二:我知道使用 last 可以输出登陆者,但是 last 最后两行并非账号内容,
        那么请问,我该如何以一行命令串取得这个月份登陆系统的总人次?
[root@www ~]# last | grep [a-zA-Z] | grep -v 'wtmp' | wc -l 
# 由于 last 会输出空白行与 wtmp 字样在最底下两行,因此,我利用
# grep 取出非空白行,以及去除 wtmp 那一行,在计算行数,就能够了解啰!

3.双向重导向: tee

想个简单的东西,我们由前一节知道 > 会将数据流整个传送给文件或装置,因此我们除非去读取该文件或装置,否则就无法继续利用这个数据流。万一我想要将这个数据流的处理过程中将某段信息存下来,应该怎么做?利用 tee 就可以啰~我们可以这样简单的看一下:


tee 会同时将数据流分送到文件去与屏幕 (screen);而输出到屏幕的,其实就是 stdout ,可以让下个命令继续处理喔!


[root@www ~]# tee [-a] file
选项与参数:
-a  :以累加 (append) 的方式,将数据加入 file 当中!

[root@www ~]# last | tee last.list | cut -d " " -f1
# 这个范例可以让我们将 last 的输出存一份到 last.list 文件中;

[root@www ~]# ls -l /home | tee ~/homefile | more
# 这个范例则是将 ls 的数据存一份到 ~/homefile ,同时屏幕也有输出信息!

[root@www ~]# ls -l / | tee -a ~/homefile | more
# 要注意! tee 后接的文件会被覆盖,若加上 -a 这个选项则能将信息累加。
tee 可以让 standard output 转存一份到文件内并将同样的数据继续送到屏幕去处理!这样除了可以让我们同时分析一份数据并记录下来之外,还可以作为处理一份数据的中间缓存盘记录之用!


4,tr

tr 可以用来删除一段信息当中的文字,或者是进行文字信息的替换!

[root@www ~]# tr [-ds] SET1 ...
选项与参数:
-d  :删除信息当中的 SET1 这个字符串;
-s  :取代掉重复的字符!

范例一:将 last 输出的信息中,所有的小写变成大写字符:
[root@www ~]# last | tr '[a-z]' '[A-Z]'
# 事实上,没有加上单引号也是可以运行的,如:『 last | tr [a-z] [A-Z] 』

范例二:将 /etc/passwd 输出的信息中,将冒号 (:) 删除
[root@www ~]# cat /etc/passwd | tr -d ':'

范例三:将 /etc/passwd 转存成 dos 断行到 /root/passwd 中,再将 ^M 符号删除
[root@www ~]# cp /etc/passwd /root/passwd && unix2dos /root/passwd
[root@www ~]# file /etc/passwd /root/passwd
/etc/passwd:  ASCII text
/root/passwd: ASCII text, with CRLF line terminators <==就是 DOS 断行
[root@www ~]# cat /root/passwd | tr -d '\r' > /root/passwd.linux
# 那个 \r 指的是 DOS 的断行字符,关于更多的字符,请参考 man tr
[root@www ~]# ll /etc/passwd /root/passwd*
-rw-r--r-- 1 root root 1986 Feb  6 17:55 /etc/passwd
-rw-r--r-- 1 root root 2030 Feb  7 15:55 /root/passwd
-rw-r--r-- 1 root root 1986 Feb  7 15:57 /root/passwd.linux
# 处理过后,发现文件大小与原本的 /etc/passwd 就一致了!
其实这个命令也可以写在『正规表示法』里头!因为他也是由正规表示法的方式来取代数据的!以上面的例子来说,使用 [] 可以配置一串字呢! 也常常用来取代文件中的怪异符号!例如上面第三个例子当中,可以去除 DOS 文件留下来的 ^M 这个断行的符号!这东西相当的有用!相信处理 Linux &Windows 系统中的人们最麻烦的一件事就是这个事情啦!亦即是 DOS 底下会自动的在每行行尾加入^M 这个断行符号!这个时候我们可以使用这个 tr 来将 ^M 去除! ^M 可以使用\r 来代替之!


5.tree

功能说明:以树状图列出目录的内容。

语  法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

补充说明:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

参  数:
  -a   显示所有文件和目录。
  -A   使用ASNI绘图字符显示树状图而非以ASCII字符组合。
  -C   在文件和目录清单加上色彩,便于区分各种类型。
  -d   显示目录名称而非内容。
  -D   列出文件或目录的更改时间。
  -f   在每个文件或目录之前,显示完整的相对路径名称。
  -F   在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
  -g   列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
  -i   不以阶梯状列出文件或目录名称。
  -I<范本样式>   不显示符合范本样式的文件或目录名称。
  -l   如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
  -n   不在文件和目录清单加上色彩。
  -N   直接列出文件和目录名称,包括控制字符。
  -p   列出权限标示。
  -P<范本样式>   只显示符合范本样式的文件或目录名称。
  -q   用"?"号取代控制字符,列出文件和目录名称。
  -s   列出文件或目录大小。
  -t   用文件和目录的更改时间排序。
  -u   列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
  -x   将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

6.tail -f admin_access.log

tail命令可以输出文件的尾部内容,默认情况下它显示文件的最后十行。它常用来动态监视文件的尾部内容的增长情况,比如用来监视日志文件的变化。与tail命令对应的是head命令,用来显示文件头部内容。

7.gzip 命令: 
# gzip test.txt 
它会将文件压缩为文件 test.txt.gz,原来的文件则没有了,解压缩也一样
# gunzip test.txt.gz 
它会将文件解压缩为文件 test.txt,原来的文件则没有了,为了保留原有的文件,我们可以加上 -c 选项并利用 linux 的重定向
# gzip -c test.txt > /root/test.gz 
这样不但可以将原有的文件保留,而且可以将压缩包放到任何目录中,解压缩也一样
#
gunzip -c /root/test.gz > ./test.txt

8.zip 命令: 
# zip test.zip test.txt 
它会将 test.txt 文件压缩为 test.zip ,当然也可以指定压缩包的目录,例如 /root/test.zip
# unzip test.zip 
它会默认将文件解压到当前目录,如果要解压到指定目录,可以加上 -d 选项

# unzip test.zip -d /root/

9.rpm -ivh google-chrome-stable_current_x86_64.rpm

rpm -ivh 安装rpm软件包

10.dig:(域信息搜索器)命令是一个用于询问 DNS 域名服务器的灵活的工具。它执行 DNS 搜索,显示从受请求的域名服务器返回的答复。多数 DNS 管理员利用 dig 作为 DNS 问题的故障诊断,因为它灵活性好、易用、输出清晰。

dig @218.85.157.99 www.baidu.com :用218.85.157.99dns服务器来查询

dig   www.baidu.com :用/etc/resolv.conf 中列举的所有服务器来查询

11.上传下载文件

上传文件
scp /home/download/temp.csv root@192.168.10.234:/var/wwwtemp.csv
下载文件
scp root@192.168.10.234:/var/www/ename/1.csv /home/download

12.查看哪些端口被打开

netstat -anp

13.查看那个进程占用了xxx端口
lsof -i:xxx
14.查看进程号为xxx的进程在哪里
 ps -ef|grep xxx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值