论坛首页 综合技术论坛

Linux&Unix 常用命令

浏览 4613 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-04-08   最后修改:2011-04-21

 

1.cat

 

用途:

1.读取文件,在屏幕上显示整个文件的内容;
2.合并文件cat filea,fileb>filec;
3.cat的输出重导向文件(>);
4.给文件添加信息(>>);
5.编辑文本cat >> filea (或cat >> file << delimiter );

 

例子:

-n,-b 是代表显示行号 和不显示行号

 

cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。

cat -b textfile1 textfile2 >> textfile3
cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容

 

 

2.find

 

用途: 查找文件

 

例子:

 

find / -name httpd.conf

这个命令语法看起来很容易就明白了,就是直接在find后面写上 -name,表明要求系统按照文件名查找,最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表:
etc/httpd/conf/httpd.conf

这就是httpd.conf这个文件在Linux系统中的完整路径。查找成功。
如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行find/ -name httpd.conf命令,而可能是你的系统中没有安装Apache服务器,这时只要你安装了Apache Web服务器,然后再使用find / -name httpd.conf就能找到这个配置文件了。

 

3.cp

 

用途:该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
语法: cp [选项] 源文件或目录 目标文件或目录

说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

该命令的各选项含义如下:

- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

- d 拷贝时保留链接。

- f 删除已经存在的目标文件而不提示。

- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

- l 不作拷贝,只是链接文件。

  需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。

 

拷贝目录必须有 -a 选项

 

例子:

 

将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished  (此目录已经存在)

 

4.rm

 

用途:用户可以用rm命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变

 

rm命令的一般形式为:rm [选项] 文件…

如果没有使用- r选项,则rm不会删除目录。

该命令的各选项含义如下:

- f 忽略不存在的文件,从不给出提示。

- r 指示rm将参数中列出的全部目录和子目录均递归地删除。

- i 进行交互式删除。

使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。

 

例子:

删除所有C语言程式档;删除前逐一询问确认 :
rm -i *.c
将 Finished 子目录及子目录中所有档案删除,删除前逐一确认 :
rm -r -i Finished

 

将 Finished 子目录及子目录中所有档案删除,删除不用确认 :

rm -rf Finished

删除目录必须有 -r 选项

 

5.sftp2

 

用途:windos 系统 ->linux,unix系统上传下载文件

例子:


1.下载 (get 命令)64服务器 /opt/IBM/WebSphere/AppServer/profiles/Custom01/logs/netbserver02 下的日志文件 SystemOut.log

a.打开一个命令提示符 cmd
b.sftp2
root@172.100.1.64 然后输入登陆密码
c.设定文件的下载地址 比如 lcd d:\ ,将来 SystemOut.log日志文件将下载到 d盘根目录下
d. cd /opt/IBM/WebSphere/AppServer/profiles/Custom01/logs/netbserver02 到达日志文件目录
e. get SystemOut.log
f. 在d:\下,我们将看到文件已经从Linux平台下载到本地的D盘根目录下

 

 

2.将本地c盘根目录下的yinlian.pfx 上传(put 命令)到 linux(172.100.1.64) 的/home/huxl 目录下

a.打开一个命令提示符 cmd
b.sftp2
root@172.100.1.64 然后输入登陆密码
c.设定需要上传文件的本地路径,比如需要上传的文件在c:\下,则 lcd C:\
d.使用 cd /home/huxl 到达上传文件所要到达的路径
e.put yinlian.pfx
f.在 /home/huxl 目录下我们将看到 yinlian.pfx 上传成功

 

6.tar jzip junzip

 

 

tar cvf 打包
tar xvf 解报

压缩,解压缩

对于.tar的包 使用 jzip 压缩
例子:jzip hu.tar.gz hu.tar 

对于gz结尾的压缩包可以使用 junzip 解压缩
例子: junzip hu.tar.gz

 

7.netstat

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。


如果我们的计算机有时候接受到的数据报会导致出错数据删除或故障,我们不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么我们就应该使用Netstat查一查为什么会出现这些情况了。


1、netstat 的一些常用选项


·netstat –s


本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。


·netstat –e


本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。


·netstat –r


本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。


·netstat –a


本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。


·netstat –n


显示所有已建立的有效连接。


下面是 netstat 的输出示例:


C:\>netstat -e


Interface Statistics


ReceivedSent


Bytes399583794047224622


Unicast packets120099131015


Non-unicast packets7579544 3823


Discards 0 0


Errors 0 0


Unknown protocols363054211


C:\>netstat -a


Active Connections


Proto Local AddressForeign Address State


TCPCORP1:1572 172.16.48.10:nbsession ESTABLISHED


TCPCORP1:1589 172.16.48.10:nbsession ESTABLISHED


TCPCORP1:1606 172.16.105.245:nbsession ESTABLISHED


TCPCORP1:1632 172.16.48.213:nbsessionESTABLISHED


TCPCORP1:1659 172.16.48.169:nbsessionESTABLISHED


TCPCORP1:1714 172.16.48.203:nbsessionESTABLISHED


TCPCORP1:1719 172.16.48.36:nbsession ESTABLISHED


TCPCORP1:1241 172.16.48.101:nbsessionESTABLISHED


UDPCORP1:1025 *:*


UDPCORP1:snmp *:*


UDPCORP1:nbname *:*


UDPCORP1:nbdatagram *:*


UDPCORP1:nbname *:*


UDPCORP1:nbdatagram *:*

 

 

8.route

 

使用 route 命令添加
使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
//添加到主机的路由
# route add –host 192.168.168.110 dev eth0
# route add –host 192.168.168.119 gw 192.168.168.1
//添加到网络的路由
# route add –net IP netmask MASK eth0
# route add –net IP netmask MASK gw IP
# route add –net IP/24 eth1
//添加默认网关
# route add default gw IP
//删除路由
# route del –host 192.168.168.110 dev eth0
二:在linux下设置永久路由的方法:
1.在/etc/rc.local里添加
方法:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.3.254

2.在/etc/sysconfig/network里添加到末尾
方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y

 

 10.RPM  

 

比如需要删除 firefox

rpm -aq firefox


然后可以出来你firefox的版本
然后
rpm -e firefox…(刚才显示的版本的完全名称)

 

 

 11.TOP

1.作用

  top命令用来显示执行中的程序进程,使用权限是所有用户。

  2.格式

  top [-] [d delay] [q] [c] [S] [s] [i] [n]

  3.主要参数

  d:指定更新的间隔,以秒计算。

  q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

  c:显示进程完整的路径与名称。

  S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

  s:安全模式。

  i:不显示任何闲置(Idle)或无用(Zombie)的行程。

  n:显示更新的次数,完成后将会退出top。

  4.说明

  top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。

  第一行表示的项目依次为当前时间、系统运行时间、当前系统登录用户数目、1/5/10分钟系统平均负载(一般来说,这个负载值应该不太可能超过 1 才对,除非您的系统很忙碌。 如果持续高于 5 的话,那么.....仔细的看看到底是那个程序在影响整体系统吧!)。

  第二行显示的是所有启动的进程、目前运行、挂起 (Sleeping)的和无用(Zombie)的进程。(比较需要注意的是最后的 zombie 那个数值,如果不是 0 ,嘿嘿!好好看看到底是那个 process 变成疆尸了吧?!)(stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的)

  第三行显示的是目前CPU的使用情况,包括us用户空间占用CPU百分比、sy 内核空间占用CPU百分比、ni 用户进程空间内改变过优先级的进程占用CPU百分比(中断处理占用)、id 空闲CPU百分比、wa 等待输入输出的CPU时间百分比、hi,si,st 三者的意思目录还不清楚 :)

  第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。

  第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。

  第六行显示的项目最多,下面列出了详细解释。

  PID(Process ID):进程标示号 ( 每个 process 的 ID )

  USER:进程所有者的用户名 ( 该 process 所属的使用者 )

  PR:进程的优先级别 ( Priority 的简写,程序的优先执行顺序,越小越早被执行 )

  NI:进程的优先级别数值 ( Nice 的简写,与 Priority 有关,也是越小越早被执行 )

  VIRT:进程占用的虚拟内存值。

  RES:进程占用的物理内存值。

  SHR:进程使用的共享内存值。

  S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

  %CPU:该进程占用的CPU使用率。

  %MEM:该进程占用的物理内存和总内存的百分比。

  TIME+:该进程启动后占用的总的CPU时间 ( CPU 使用时间的累加 )

  Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

  top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

  <空格>:立刻刷新。

  P:根据CPU使用大小进行排序。

  T:根据时间、累计时间排序。

  q:退出top命令。

  m:切换显示内存信息。

  t:切换显示进程和CPU状态信息。

  c:切换显示命令名称和完整命令行。

  M:根据使用内存大小进行排序。

  W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

  可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

  5.应用实例

  使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。

 

 

12.MV

 

功能说明:移动或更名现有的文件或目录。

语  法:mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]

补充说明:mv可移动文件或目录,或是更改文件或目录的名称。

参  数:
 -b或--backup  若需覆盖文件,则覆盖前先行备份。
 -f或--force  若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
 -i或--interactive  覆盖前先行询问用户。
 -S<附加字尾>或
 --suffix=<附加字尾>  与-b参数一并使用,可指定备份文件的所要附加的字尾。
 -u或--update  在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。
 -v或--verbose  执行时显示详细的信息。
 -V=<方法>或
 --version-control=<方法>  与-b参数一并使用,可指定备份的方法。
 --help  显示帮助。
 --version  显示版本信息。

 

13. grep

 

参数:

 

  1. -c 显示匹配的行数(就是显示有多少行匹配了);
  2. -n 显示匹配内容所在文档的行号;
  3. -i 匹配时忽略大小写;
  4. -s 错误信息不输出;
  5. -v 输出不匹配内容;
  6. -x 输出完全匹配内容;
  7. \ 忽略表达式中字符原有含义;
  8. ^ 匹配表达式的开始行;
  9. $ 匹配表达式的结束行;
  10. \< 从匹配表达式的行开始;
  11. \> 到匹配表达式的行结束;
  12. [ ] 单个字符(如[A] 即A符合要求);
  13. [ - ] 范围 ;如[A-Z]即A,B,C一直到Z都符合要求;
  14. . 所有的单个字符;
  15. * 所有字符,长度可以为0;

 

如果您要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。
假设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件:

$ grep magic /usr/src/linux/Documentation/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?

其中文件‘sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。

默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出:

grep: sound: Is a directory

这可能会使‘grep’的输出难于阅读。这里有两种解决的办法:

明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip
当然,如果预料到有许多输出,您可以通过 管道 将其转到‘less’上阅读:

$ grep magic /usr/src/linux/Documentation/* | less

这样,您就可以更方便地阅读。

有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,‘grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 <CTRL c> ,然后再试。


2.命令行参数:

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
这里还有些用于搜索的特殊符号:

 


3.\< 和 \> 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
如果您不习惯命令行参数,可以试试图形界面的‘grep’,如 reXgrep 。这个软件提供 AND、OR、NOT 等语法,还有漂亮的按钮 :-) 。如果您只是需要更清楚的输出,不妨试试 fungrep 。

 

4.结合find和grep来搜索多个目录中的文件内容

# find / -name "*.txt" -print

/               :find 命令从目录/开始搜索并搜索所有源于它的子目录
-name     :指明搜索的名字或名字模式,查找所有以.txt结尾的文件
-print       :表明find命令应输出其搜索到的和标准相匹配的文件名
 # find -name "*.txt" -print -exec grep test {} \;

grep test {} \;     :-exec参数的一部分.每次找到和-name参数中指定的条件相匹配的文件时,用来搜索单词test的grep命令将被执行.
{}                        :参数告诉find命令每次执行-exec部分的命令时插入匹配文件的完整路径和文件名.
\;                         :表示find每次找到一个匹配文件时其所执行的-exec部分的命令结束
也可以将-print去掉.

 

一个工作中的例子:  查看日志文件中的关键字符出现的次数

grep -c '可能被挂起了'  /opt/IBM/WebSphere/AppServer/profiles/Custom01/logs/netbserver02/SystemOut.log

 

 

查看 指定目录下 文件中特定的字符位置:

 

 

grep -r "ego" *.xml /opt/platform/kernel/conf

 

find /opt/platform/kernel/conf  -name \*.* -type f -print | xargs grep "ego"

 

 

14. date

  修改时钟

 [root@nbsdev ~]# date -s "2010-03-02 13:51:00"
2010年 03月 02日 星期二 13:51:00 CST
[root@nbsdev ~]# clock -w
[root@nbsdev ~]# date
2010年 03月 02日 星期二 13:51:13 CST

 

15. du

 

查看目录大小

 

 du -h -s ./* | sort

16. scp

Linux scp命令用于Linux之间复制文件和目录,具体如何使用这里好好介绍一下,从本地复制到远程、从远程复制到本地是两种使用方式。这里有具体举例:

==================

Linux scp 命令

==================

scp 可以在 2个 linux 主机间复制文件;

命令基本格式:

scp [可选参数] file_source file_target

======

从 本地 复制到 远程

======

* 复制文件:

* 命令格式:

scp local_file remote_username@remote_ip:remote_folder

或者

scp local_file remote_username@remote_ip:remote_file

或者

scp local_file remote_ip:remote_folder

或者

scp local_file remote_ip:remote_file

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

* 例子:

scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music

scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3

scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music

scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3

* 复制目录:

* 命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder

或者

scp -r local_folder remote_ip:remote_folder

第1个指定了用户名,命令执行后需要再输入密码;

第2个没有指定用户名,命令执行后需要输入用户名和密码;

* 例子:

scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/

scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录

======

从 远程 复制到 本地

======

从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;

例如:

scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3

scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

最简单的应用如下 :

scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2

[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .

可能有用的几个参数 :

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .

-C 使能压缩选项 .

-P 选择端口 . 注意 -p 已经被 rcp 使用 .

-4 强行使用 IPV4 地址 .

-6 强行使用 IPV6 地址 .

Linux scp命令的使用方法应该可以满足大家对Linux文件和目录的复制使用了。

 

17.mount

 

挂载光驱:

 

mkdir /mnt/cdrom

mount –o loop cd1.iso /mnt/cdrom

卸载光驱:

 umount /mnt/cdrom/

 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics