linux下面一些命令整理

来源:互联网 发布:酷家乐有软件吗 编辑:程序博客网 时间:2024/05/20 01:07

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/manMANPATH_MAP     /usr/bin/X11            /usr/X11R6/manMANPATH_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

原创粉丝点击