ubuntu命令大全

来源:互联网 发布:济南锋刃网络 编辑:程序博客网 时间:2024/06/05 12:38
                                                           
                                                                     一.帮助命令                                                   
1.帮助命令help和man
     $ help cd  –-----获取cd命令的帮助
     
     $ man passwd –---- 获取passwd命令的帮助

2.查找命令whatis和apropos
   用途:知道是干什么的,查找命令名
      $ apropos <搜索字符串>
      $ whatis <搜索字符串>
                          
   
                                                                    二.文件管理命令
创建文件    touch
创建目录    mkdir
查看并可以修改    vi
编辑文件    gedit
复制文件    cp
重命名(移动)    mv
显示文件内容    cat

 

1.列出文件清单命令 -----ls
       $ ls /etc -------查看etc下的内容

ls命令选型    命令选项说明
-l          列出所有要查看的内容的详细信息,包括文件名、大小、访问权限、所有者
-a    列出所有文件,包括隐藏文件
-R    列出当前目录下的所有内容,包括子目录的内容
-d    仅列出目录本身,不显示当前目录下的内容

$ ls -l 命令执行后:
      第一列:文件类型和权限
      第二列:i节点,即硬链接数
      第三列:文件属性,即文件所有者。(有时将一个文件复制给另一个用户,要将文件的属主也改变)
      第四列:文件的属组,即文件的所属组,在此组里的用户对文件拥有不同的权限
      第五列:文件大小,以字节显示
      第六列:最近一次文件内容的修改时间,即mtime
      第七列:文件或目录名

文件类型号    含义
-    表示普通文件
d    表示目录
l    表示链接文件
b    表示块设备文件,例如硬盘的存储设备
C(大写)    表示字符设备文件,例如键盘
s    表示套接字文件,此主要跟网络程序有关
P    表示管道文件

2.改变当前路径命令-----cd
            $ cd 路径

特殊目录的表示方法    含义
/    根目录
.    代表当前目录
..    代表上层目录
~    代表当前的登录用户的宿主目录(Home)
~用户名    代表进入~后用户的宿主目录
-    代表前一目录,即进入当前目录之前操作的目


3.查看当前路径命令 -----pwd
4.改变文件创建时间及创建空白文件命令-----touch(-a 仅修改atime, -m 仅修改mtime)
              $ touch 路径+文件名  ---- 创建空白文件
时间属性:
         mtime:文件内容被修改时间
         ctime:文件属性(所有者、文件名)或权限被修改的时间
         atime:文件内容被读取的时间

    a.最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。
  touch file
  touch file1 file2
 b.将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。
  touch -c -t 05061803 file
  touch -c -t 050618032000 file
  将 file 的时间记录改变成与 referencefile 一样。
  c.将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。
  touch -d "6:03pm" file
  touch -d "05/06/2000" file
  touch -d "6:03pm 05/06/2000" file

5.创建目录命令-------mkdir
6.删除空目录命令-------rmdir (-p 可以删除不包含文件的子目录)
7.删除文件(目录)命令-----rm

rm命令    说明
-f    强制删除(即使设置了-i属性也不起作用)
-r    删除目录
-i    删除文件或目录前是否询问

8.复制命令------cp
        cp可以复制一个文件或者生成一个不同名但内容相同的文件
                $ cp 源文件名   目标路径-------复制文件
                $ cp 源文件名   目标文件名-------备份(名字不同)

cp命令选项    说明
-f    强制复制
-r    复制目录
-i    复制文件或者目录前是否询问
-u    只有当源文件比目标文件新时才进行复制

9.移动文件(目录)命令-------mv
      mv命令用来移动一个文件(目录)或者是重命名文件(目录)
            $ mv 要移动的文件   目标路径  --------移动
            $ mv 原文件名     新文件名    ---------重命名

10.显示文件内容命令---------cat
           $ cat 路径+文件名 --------单屏显示文件内容
           $ cat 路径+文件名  | more  ------分屏显示文件内容
           $ cat 路径+文件名1   >> 路径+文件名2------把文件1的内容追加到文件2内容后面

11.从头开始查看文件内容命令--------head
          head 能够从头开始查看文件内容,并且指定查看的行数
          $ head [-n] 文件名  -------- 从第n行开始查看
12.从结尾开始查看文件内容----------tail
           tail 能够从文件结尾开始查看文件内容,并且指定查看的行数
         $ tail [-n]  文件名  ---------与head命令类似又相反

13.分屏显示文件内容----------more(less)
          $ more 路径+文件名  
           
           more多和cat连用: $ cat 路径+文件名   | more
     
          less用法与more相同,唯一一点不同是,less能够向上翻页(现在more可能也可以了)

14.生成链接文件---------ln

软连接:相当于windows下的快捷方式
硬链接:相当于复制+同步更新

$ ln -s  1.txt  1.txt.soft ----------文件1.txt生成软连接
$ ln -s  1.txt  1.txt.hard ----------文件1.txt生成硬链接
     
15.文件比较命令--------diff
        $ diff  [-选项]  文件1   文件2---------- 比较两个文件的不同 (>2比1多,<1比2多)
16.文本排序命令--------sort
        $ sort [-选项] 文件名
例:
 $ sort -t “:” -k 3 /etc/passwd------把passwd文件按第三列排序后输出,其中:分隔符

sort命令选项    说明
-f    忽略大小写
-r    反向排序
-t    指定分隔符
-k    以第几个区间进行排序,后面加数字

17.文本统计命令---------wc
      wc可以对文本的行数、单词数和字符数进行统计
         $ wc [-选项] 文件名

wc命令选项    说明
-l    显示行数
-w    显示单词数
-m    显示字符数


                                                          三.文件查找命令

1.按路径进行查找命令-------which
      which主要用来查找命令的位置,显示命令的绝对路径
       例: $ which touch

2.按资料苦查找命令----whereis
        whereis既能查询出命令,又能查询出ubuntu资料库里记载的文件

whereis命令选项    说明
-b    只查找二进制文件
-m    只查找说明文件在manual路径下的文件
注:
          -b,-m均是查找文件,且whereis查找效率要高

3.查找数据库超找文件的命令--------updatedb和locate
        locate 命令能够将文件系统中所有与被查询的文件名相同的文件快速查询出来,当然,这与updatedb命令创建的文件系统数据库密切相关,所以是先有文件系统数据库然后查询。

  Updatedb 命令的执行方式为:    $ sudo updatedb
 locate 命令的执行方式为:    $ locate keyword

注:
         当文件系统发生改变时,需要重新运行updatedb

4.功能强大的查找命令-------find
  find 可以按时间、用户、权限、大小、名字、类型进行查找,并可以对记过进行处理    

格式:  $ find 查询的路径 [选项] [对查询到的结果执行的命令]

   A、按时间状态查询:
       
find选项    说明
-atime(+|-) n    此选项代表查找出n天以前被读取过的文件
-mtime(+|-) n    此选项代表查找出n天以前文件内容发生过改变的文件
-ctime(+|-) n    此选项代表查找出n天以前的文件的属性发生改变的文件
-newer  file    此选项代表查找出所有比file文件新的文件
-newer file1 ! -newer file2    此选项代表查找比file1新,但比没有file2新的文件

注:
         a、n位数字,若其前面没有+也没有-,代表的是查找出n天以前的,但只是这一天之内发生改变的文件
         b、如果n前面有+号,代表查找出n天之前的发生改变的文件。
         c、如果是-号,则代表查找距离n天之内的所有发生改变的文件
例:
   $ sudo find / -mtime -3 ………查找三天之内内容发生改变的文件
   $ sudo find /home -newer file1 ! -newer file2
    …………………在/home目录下查找比file1新但没有file2新的文件

B、根据用户或者组进行查找

选项    说明
-user 用户名    根据属主名查找文件
-group 组名    根据属组组名查找文件
-uid n    根据文件属主的UID进行查找文件
-gid n    根据文件属组的GID进行查找文件
-nouser    查询文件属主在/etc/passwd文件中不存在的文件
-nogroup    查询文件属组在/etc/group文件中不存在的文件

例: $ sudo find /home -user ubuntu…………………………………………………
………………  查找在/home目录下的属主是ubuntu的文件
        $ sudo find /etc -nouser ………………………………………………………………
………………  查找/etc目录下的没有属主的文件

C、根据文件权限或大小名字类型进行查找

选项    说明
-name 文件名    按文件名进行查找
-type 文件类型    按文件类型进行查找
-size[+|-]n (c|k)    按文件大小进行查找
-perm[+|-] 文件权限    按照文件权限进行查找

注:
        a、文件类型可以通过ls -l进行查询,“-”代表普通文件,“d”代表目录,“b”代表设备文件,“c”代表字符设备文件
        b、按文件大小查询,默认的单位是块,习惯上用字节或Kb,故用“c“表示字节,”k“表示1024字节即1Kb,其前面的”+“代表大于n所指定的大小,”-“表示小于
        c、文件权限,此处权限应该是4位,即加上了特殊权限位的部分,其中”+“表示所查找的文件的权限中有前面权限条件的任意一个即可,
”-“表示所查找的文件权限至少要包含前面权限的所有

例:
   $ find /etc -size +1000000c…………………………………………………………………
………………想找出/etc目录下的所有文件大小超过1MB的文件
  $ sudo find / -perm -4000 ……………………………………………………………………
………………查找系统中所有具有SUID位的文件

D、多个查找选项的应用
    
选项    说明
-o    逻辑或
-a    逻辑与

例:
  $ sudo find /etc -size +2048 -a -size -20480……………………
………………在/etc目录下查找大于1MB小于10MB的文件
  $ sudo find find /etc -name inittab -o -name grub……
………………查找/etc目录下文件名为inittab或者grub的文件

E、对查询结果的处理
  要用到的选项有:-exec ,-ok ,-print
   -exec shell命令  {}  \;
   其中-exec 就是代表要执行shell命令,后面加的是shell命令,再后面的“{}”表示的是要对前面查询到的结果进行查询,最后的“\;”表示命令的结束。
   -ok 与 -exec的唯一区别就是它在执行shell命令的时候会事先进行询问,-print选项是将结果显示在标准输入上

注意:“{}”和“\;”之间有空格

例:
    $ sudo find / -perm -4000 -exec ls -l > /home/hxl {} \;………………查找系统内所有具有SUID位的文件,并将结果保存在/home/hxl文件中(其中“>”是输出重定向)

  $ sudo find /home -name “*.txt” -ok rm {} \;………………
………………查找/home目录下所有以“.txt”结尾的文件(现在好像*不能使用)



                                                       四.权限命令


文件(目录)权限分为:
                            a、可读(r):可以查看文件内容或目录下的内容
                            b、可写(w):可以修改文件内容或能在该目录下建立删除文件
                            c、可执行(x):跟文件的扩展名无关,只与权限有关,目录只有是可执行的用户
                                                           才能进入此目录,才能在该目录下运行命令

$ ls -l 查询权限:第一部分的第一列为文件类型
           第二列到第十列为权限
                     其中每三列为一组,依次为属主的权限、属组的权限、其他人的权限
                     每一组的三列依次为rwx,“-”表示没有该权限


 1.设置权限命令----------chmod
        $ chomd [选项] 权限  文件名(目录名)
       a、数字方式设定权限:
                 4------可读(r)、2-----可写(w)、1-----可执行(x)、0----无权限
        
                例:  $ chmod 644 1.txt ----1.txt的属主可读可写,属组和其他人都只可读
        
       b、字符方式设定权限
            * 设置权限的对象: u------(user)属主、
                                                 g------(group)属组、
                                                 o------(others)其他人、
                                                 a------(all)上述三者
              
             * 对权限的操作: + …………………在原权限基础上增加
                                             - …………………在原权限基础上减去
                                             = …………………最终权限设定为

             * 权限: r ----------- 可读
                              w ----------- 可写
                              x ----------- 可执行

例: $ chmod u+w,o-r 1.txt

注:
          -R 可以进行多级目录的权限设定
          $ chmod -R 755 /home ----------将/home目录及其下的目录和文件权限都设为了755

2.更改属主(属组)命令----------chown
      $ chown [选项]  属主 [.属组]  文件名
注:-R 可以更改目录及其下的目录文件的属主(属组)

例: $ chown tom 1.txt-------把1.txt 的属主改为tom
        $ chown .toms 1.txt-------把1.txt的属组改为toms
        $ chown tom.toms 1.txt-------把1.txt的属主改为tom,属组改为toms

3.更改文件属组命令   –------chgrp
     chgrp类似与chown,且-R也可以改变目录及其下的目录及文件的属组
     $ chgrp users file ------把file文件的属组改为users

4.定义默认权限命令-------umask
     目录的umask 各个数字最大值为7
     文件的umask 各个数字最大值为6(linux中规定文件默认不能授予可执行(x)权限)

     $ umask ------查看当前的umask值
                          得到的值为四位数,若为目录用777减后三位得到真实的权限值
                                                             若为文件用666减后三位得到真实的权限值

  $ umask 022 –---- 给文件设定默认权限值为644(rw-r—r--)
    umask 后跟的值是用666减去权限值得到的


 

                                                     五.进程管理命令


选项    含义
User    进程的属主
PID    进程的进程号
PPID    子进程号
%CPU    此进程占用cpu的百分比
%MEM    此进程占用内存的百分比
NI    谦让度(范围-20到19)
PRI    运行程序时系统产生的一个值,其与NI相加表示优先级(数值越低,进程越先被执行)
VSZ    此进程使用的虚拟内存的百分比
RSS    此进程占用的实际内存大小
TTY    此进程所在的终端
如果与终端无关,则显示“?”,
如果是pts/0等,则为网络登录,
如果是tty1-tty6,则说明是对应的字符终端界面
STAT    进程状态:
R:正在运行
S:正在休眠,可以被其他进程唤醒
T:已经停止或正在被追踪
Z:僵尸进程,此进程应该已经停止,但是其父
       进程无法正常关闭它
START    进程被启动的开始时间
TIME    进程执行所花费的时间
COMMAND    触发进程的实际命令名

 
1. 静态进程管理命令--------ps
例: $ ps -aux  | more

ps选项    说明
-l    长格式输出(查钱让度)
-u    按用户名和启动时间顺序来显示进程
-f    以树形格式来显示进程
-a    显示所有用户的所有进程
-x    显示无控制终端的进程

2.动态显示进程-------- top
  例:$ top -d 6-----------每隔6秒刷新一次进程的状态

top命令主要有6行:
      a、第一行主要显示了系统总的运行时间、当前系统的用户人数和系统平均负载时间,系统平均负载时间有三个值:分别代表了1分钟、5分钟、10分钟的平均负载
      b、第二行主要是当前系统运行的任务数和每个任务的状态
      c、第三行表示CPU占用情况
      d、第四行内存的使用情况
      e、第五行表示虚拟内存的使用情况
      f、第六行表示进程的状态

注:
         想要使top显示的结果以进程的CPU占有率大小的顺序来进行排列,则按c键即可

3.停止进程命令-------kill/killall
     $ killall 程序名称
    $ kill [信号编号] 进程ID(用ps查到)    -------常用信号编号是9
    $ kill  -l  查看可以传递的信号编号

4.进程优先级
          nice命令创建一个进程的同时为其指定一个谦让度的值;
   格式:       $ nice -n -谦让度     命令
         修改已经存在的进程谦让度:
                                                   $ renice 调整后的谦让度   进程PID
注:renice调整后的谦让度,为谦让度的最终值。

                                                                  六.压缩解压命令

1.压缩解压.gz命令----------gizp
    $-gizp [-选项] 文件名
注:解压后覆盖原文件
     gzip命令提供了1~9级的压缩比,1的压缩比最差,压缩速度最快,9的压缩比最好,但是速度慢,默认的级别是6
  例: $-gzip -2 hxl
gizp选项    说明
-d    解压
-n(1~9)    指定压缩级别

2.查看压缩文件内容命令-------zcat
       zcat可以不解压.gz文件就可以查看里面的内容
     $-zcat 压缩文件名

3.解压 .zip文件命令-------unzip
          
unzip选项    说明
-v    查看目录列表,但不解压
-d    将文件解压到指定目录中
-n    不覆盖原来的文件
-o    覆盖原来的文件且不需要再次确认

例:
    $-unzip hxl.zip…………………解压到当前目录并覆盖原文件
    $ unzip -n hxl.zip -d /home/hxl……………………………………………………
……………将hxl.zip文件解压到/home/hxl目录中,如果该目录下有相同的文件并不覆盖原文件

4.压缩解压.bz2文件命令--------bzip2
      用法与gzip完全一样
5.查看压缩文件内容命令---------bzcat
      用法类似zcat,但bzcat是查看的.bz2压缩文件

6.打包并压缩命令------tar
     tar命令能够对一个文件或者内容进行打包压缩后备份
$-tar [-选项] [要打包的文件名或者目录名] [要压缩或者解压的文件或者目录名]

tar可以对多个文件或者目录进行压缩到一个文件中,并且不会删除原文件,会产生一个.tar的文件

tar选项    说明
-c    创建新的打包文件
-x    将.tar文件解压
-z    打包后直接用gzip命令进行压缩或者解压
-j    打包后直接用bzip2命令进行压缩或者解压
-t    查看一个打包文件里的文件目录
-f    使用文件或者设备(这个选项基本是必选的)
-k    如果在还原是有相同的文件存在则不进行覆盖
-v    在打包压缩或者压缩后将文件的详细清单是否显示出来
-N    在此选项后加日期,如果文件日期比-N选项后面加的日期还要新才会被加进压缩包中

tar常用选项组合
压缩算法    gzip    Bzip2
打包压缩    zcvf    jcvf
解包压缩    zxcf    jxvf
查看打包压缩文件    tvf    tvf

例:
$-tar czvf /home/hxl.tar.gz  /etc/passwd  /etc/shadow
……………………将/etc/passwd文件和/etc/shadow文件打包后压缩成hxl.tar.gz文件


                                                                    七.关机重启命令

1.关闭计算机命令------shutdown
    $ sudo shutdown [选项] [时间] [警告信息]
例:
    $-sudo shutdown -h +5………………五分钟后关机
    $-sudo shutdown -h 18:00…………晚上六点关机
    $-sudo shutdown -r +10 “hello word!”……………………………………
……………………………10分钟后重启,并显示“hello word!”

shutdown选项    说明
-r    重启
-h    关机
-c    取消已经运行的shutdown命令

2.系统关机命令-------halt
   $ sudo halt [选项]
        halt命令就相当于shutdown -h ,halt -f可以不调用shutdown 强制关机

3.切换启动级别命令------init
      $-sudo init 运行级别
ubuntu共有7个级别:
             0级为关机
             1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录
              2 多用户模式,没有NFS网络支持。
                 3 完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。
      4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
      5 图形化模式,登陆后进入图形GUI模式,X Window系统。
             6级为重启

4.关机命令--------poweroff
       $-sudo poweroff
5.重启系统命令--------reboot
       $-sudo reboot
                                          
                                                                 八、前后台和计划任务

1.前后台的切换
     (1)把任务方到后台运行
           在命令的最后加上”&”
例:将当前分区的所有内容备份到另外一个硬盘中(其挂载点为/sdb1),因为执行时间较长,所以放到后台运行
$ sudo cp -R / /sdb1 &
  [1] 4415
         当该命令运行完后,shell会将此命令的序列号和进程号显示出来
     (2)查看后台运行的有那些任务
            $ jobs
              [1] + Running    cp -R /  /sdb1  &
           其中1代表此命令的序列号,Running表示此命令正在后台运行,后面是执行的命令,还可以在命令执行时按下“Ctrl+Z(大写)”键,将命令放在后台挂起,即暂停运行但不结束命令,这时使用jobs命令查看其状态显示为“Stoping”
           如果想让后台挂起的任务在后台继续运行,使用bg命令,执行如下: $ bg 命令的序列号
     (3)将后台命令调到前台运行使用fg命令,命令格式:
        $ fg 命令的序列号

2.监控资源
    (1)查看内存:free命令      
    (2)启动信息查看:dmesg命令

3.计划任务
   (1)at命令
         使用at命令所定制的任务可以在指定的时间执行,并且只执行一次
    格式:
          $ at [-f 脚本名] [-m | l | r] 时间 日期

                       at选项    说明
-f    此选项后面加一个脚本名,说明在指定时间执行的脚本
-m    at命令完成后发送一封邮件给用户
-l    显示所有等待运行的任务
-r    删除任务
    at的时间格式:
      *at now [+n minutes|hours|days|weeks] 其中n为数字,如果只是at now,则为马上执行at任务,如果加上数字,如at now 3 hours,则表示从现在算起三个小时后执行任务
      *at 时间 [am|pm]:此方式为直接指定具体时间,或者可以在时间后加上pm来指定是上午还是下午时间
       *at 时间  日期:此方式指定具体在某天的某个时间来执行

例一:在当前时间的两周以后禁止ubuntu用户,命令为:
     $ at now +2 weeks
         at > usermod -L ubuntu
         at > <ctrl>+<d>
注:在执行at命令时,可以输入一个或者多个命令,最后需要按下“Ctrl+d”键作为at指令的结尾
例二:在当日下午18:00点执行上述命令,则命令如下:
            $ at 6:00pm 或者 at 18:00
            以下同例一
例三:如果需要在2007.1.1的零点执行此操作,则命令如下:
            $ at 0:00 1/1/2007
            以下同例一

   (2)查看任务和删除任务
       查看系统中等待执行的at任务,则可以使用atq或者(at-1)命令完成
      其中第一列为任务的序列号,数字越小的越优先执行,后面是任务运行时间,a代表at,最后是建立此任务的用户

如果任务不必执行,则需要将任务取消,可以使用atrm命令,执行命令如下:    $ atrm 任务的序列号

(3)控制at任务的进程和文件
     所有at任务被建立后,都会保存当前所有的环境变量,如路径等,并且都由atd进程控制,atd进程会保证at任务在其规定的时间内完成
     在文件/etc/at.allow有所有允许使用at命令的用户列表,在文件/etc/at.deny有所有不允许使用at命令的用户列表,其二者遵循以下原则:
     如果有allow文件存在,则只有这个文件里的用户才能使用at命令;
     如果allow文件不存在,那么将检测deny文件,只有这个文件里的用户不能使用at命令;如果两个文件都不存在,则只有超级用户能够使用at命令;如果存在deny文件,并且为空,则所有的用户都可以使用at命令

(4) 使用batch命令
   如果资源严重不足,那么可以使用batch命令代替at命令,这两个命令的表达方式完全一样,唯一不同的是,batch命令当系统的平均负载低于0.8时才会运行,否则不会运行

(5)cron命令
        cron任务可以定期做一些事情,例如清理日志文件,crontab命令可以实现对cron任务的管理

crontab选项    说明
-u    用户名,只有管理员才能用此选项,可以对指定用户的cron任务进行操作
-e    建立或编辑cron任务
-l    列出当前用户的cron任务
-r    删除cron任务
cron任务文件格式:
字段    含义
字段一    分钟(范围0~59)
字段二    小时(范围0~23)
字段三    时期(范围1~31)
字段四    月份(范围1~12)
字段五    星期(范围0~7,0和7都代表周日)
字段六    所需要执行的命令

例:在每周一的零点整将/tmp目录的所有临时文件都删除
           “ 0 0 * * 1 rm -rf /tmp”

注: 日期中的特殊字符:
           “*”:表示该字段的所有可能值
           “,”:表示不连续的时间点
           “-”:能够表示一个时间段
           “/数字”:表示的是每隔多长时间,时间由数字指定
例:每个两小时执行一次back.sh脚本:
      “ * */2  * * * /home/back.sh”
1 0
原创粉丝点击