Linux常用命令

1.切换输入法:
         Ctrl+space;
2.打开终端:
         Ctrl+Alt+T;
3.解压缩包:      

记录Ubuntu下各种压缩和解压方式:

.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2(不是gzip格式压缩的,所以不能带"z")
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
.tar.bz
解压:tar jxvf FileName.tar.bz
———————————————
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.tgz
解压:tar zxvf FileName.tgz
.tar.tgz
解压:tar zxvf FileName.tar.tgz
压缩:tar zcvf FileName.tar.tgz FileName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
———————————————
.rar
解压:rar a FileName.rar
压缩:rar e FileName.rar
———————————————
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
 
       
5.强制停止:
         CTRL-Z和CTRL-C都是中断命令,但是他们的作用却不一样.CTRL-C是强制中断程序的执行,而CTRL-Z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.
 
6.升级为root用户
         sudo  -s
         其他非Ubuntu系统用户使用 su
         su (用户名)     ##切换到指定用户下,不加用户名时为root    
 
7.回到先前的用户状态
         exit
 
8. cd 的用法
         cd  ..返回上一级;cd 或cd ~回到自己的用户主目录(".."代表当前目录的上一级目录,"."代表当前目录,"~"代表用户主目录);cd  /直接进入根目录
 
9.查看磁盘使用情况 : df
         df (-h)     ##df命令会收集和整理当前已经挂载的全部文件系统的一些重要的统计数据
          -a 全部文件系统列表
          -h 方便阅读方式显示
          -T 文件系统类型
          -i  显示inode信息
          ... ...
          df  (-t  ext4)          ##显示ext4文件系统类型的信息
          -t  [文件系统类型]  只显示指定文件系统类型的磁盘信息
          -x  [文件系统类型]   不显示指定文件系统类型的磁盘信息
 
进程管理:
1.查看所有运行的程序:ps
          ps -aux      ##可以看到所有运行的程序与grep连用筛选
          ps -a          ##显示现行终端机下的所有程序(包括其他用户的程序)
          ps -u          ##以用户为主的排序显示(username)
          ps -x          ##显示所有程序(包括所有终端机下的)
          ps aux  |  grep badpro     ##筛选出带有badpro关键字的进程
          ("-"可以省略)
 
          ps lax        ##可以提供进程ID(PPID父进程)和 谦让度(NI)不需要显示属主用户名,所以速度更快
     
                                                  ps  zux 命令产生进程信息的各种字段含义:
字段
含义
USER
进程创建者的用户名
PID
进程的ID号
%CPU
进程占用的CPU百分比
%MEM
进程占用的内存百分比
VSZ
进程占用的虚拟内存的大小
RSS
内存中页的数量(页是管理内存的单位,在PC上通常为4K
TTY
进程所在终端的ID号
STAT
进程状态,常用的字母代表含义如下:
R 正在运行/可运行          D 睡眠中(不可被唤醒,通常是等待I/O设备)
S 睡眠中(可以被唤醒)   T 停止(由于收到信号或被跟踪)
Z 僵进程(已经结束而没有释放系统资源的进程)
常用的附加标准:
< 进程拥有比普通优先级高的优先级
N 进程拥有比普通优先级低的优先级
L 有些页面被锁在内存中
s 会话的先导进程
START
进程启动的时间
TIME
进程已经占用的CPU时间
COMMAND
命令的参数
 
2.即时跟踪进程信息:top
          top     ##命令显示的信息会占满一页,并且在默认情况下每10s更新一次。那些使用CPU最多的程序会排在最前面。
           q        ##退出    
 
3.查看占用文件的进程:lsof
          lsof database.doc
 
4.向进程发送信号:kill(只是用来向进程发送一个信号)
          kill [-signal]  pid   
          kill pid    等同于kill -TERM pidkill -SIGTERM pid 或kill -15 pid(SIG可以省略)
          kill -INT     等同于快捷键Ctrl+C
                                                                                      常用的信号
信号编码
信号名
描述
默认情况下执行的操作
0
(SIG)EXIT(SIG可以省略
程序退出时收到该信号
终止
1
(SIG)HUP
挂起
终止
2
(SIG)INT
中断
终止
3
(SIG)QUIT
退出
终止
9
(SIG)KILL
杀死
终止
11
(SIG)SEGV
段错误
终止
15
(SIG)TERM(默认,不写
软件终止
终止
取决于硬件体系
USR1
用户定义
终止
取决于硬件体系
USR1
用户定义
终止
 
     注意:在程序的开头加入命令“trap "" TERM”用于忽略TERM信号,如下:
                    #!  /bin/bash
                    trap "" TERM
                    while echo ... ...
                但是KILL信号是永远不会被程序捕获的,可以用该信号结束进程
 
5.调整进程的谦让度:nicerenice
          谦让度 IN 的范围:-20~+19
          nice命令可以在启动程序时设置其谦让度,设置 相对值
          renice命令可以在进程运行时调整其谦让度,设置 绝对值
               nice -n 2 bc               ##设置bc以谦让度 增量2 启动
               nice bc                       ##不带-n时,会将程序的谦让度增量设置为10
               renice +12 -p [PID]    ##将bc的 -p 选项指定进程的PID
 
 
查看目录和文件:
 
1.ls  的用法
         ls  -F:  会在每个目录后加上/,在可执行文件后加*,在链接文件后加上@,在无法显示颜色的终端上有用:
         ls  -a:  显示所有的文件,包括隐藏文件如".adobe";
         ls  -l:  查看文件的各种属性。
               “-rwxr-xr-x  1  root  root  38096  2008-11-13  14:54  /bin/login”:
                         第1个字段的第1个字符表示文件类型;
                         然后3组位权限:属主,属组和其他人的权限
                         权限后的数字,表示链接数
                         root和root分别是属主和属组
                         最后4个分别表示文件大小、最后修改日期和时间、文件的完整路径
               
文件类型
符号
文件类型
符号
普通文件
-
本地域套接字
s
目录
d
有名管道
p
字符设备文件
c
符号链接
l
块设备文件
b
 
 
 
2.   查看文本文件 cat(一次显示所有的内容)和more(一页一页的显示)和less(优先选)
         cat  文本文件名(可以加多个文件名)
         cat  -n (显示行号)  文本文件名 (可以加多个文件名)
     对于more的详细说明:      
         例子:  
               # more -dc/etc/profile    注:显示提示,并从终端或控制台顶部显示;
               # more +4/etc/profile      注:从profile的第4行开始显示;
               # more -4/etc/profile      注:每屏显示4行;
               # ls  -l/etc  | more           注:查看一个目录下的文件时,可以和管道“|”结合起来
         more [参数选项] [文件]  
                +num           从第num行开始显示;
                -num            定义屏幕大小,为num行;
                +/pattern      从pattern 前两行开始显示;
                -c                  从顶部清屏然后显示;
                -d                  提示Pressspace to continue, 'q' to quit.(按空 键继续,按q键退出),禁用响铃功能; 
                -l                   忽略Ctrl+l(换页)字符;
                -p                  通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似;  
                -s                   把连续的多个空行显示为一行;
                -u                   把文件内容中的下划线去掉
          more 的动作指令:
               Enter                            向下n行,需要定义,默认为1行;
               Ctrl+f(或空格)           向下滚动一屏;
               Ctrl+b                          返回上一屏;
               =                                  输出当前行号
               q                                   退出more(退出后,不返回刚才more的位置,回到显示文档后面)
     对less的详细说明:           
          less [参数] 文件
                -c    从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;
               -f      强制打开文件,二进制文件显示时,不提示警告;
               -i      搜索时忽略大小写;除非搜索串中包含大写字母;
               -I      搜索时忽略大小写,除非搜索串中包含小写字母;
     -m    显示读取文件的百分比;
               -M    显法读取文件的百分比、行号及总行数;
               -N    在每行前输出行号;
               -p     pattern搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL/etc/profile
               -s      把连续多个空白行作为一个空白行显示;
               -Q     在终端下不响铃;                     
          动作指令:
               回车键      向下移动一行;
               y           向上移动一行;
               空格键      向下滚动一屏;
               b           向上滚动一屏;
               d           向下滚动半屏;
               h           less的帮助;
               u           向上洋动半屏;
               w           可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;
               g           跳到第一行;
               G           跳到最后一行;
               p n%(貌似不能用)      跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;
               /pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;
               v           调用vi编辑器;
               q           退出less
               !command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;  
 
3. 显示一个命令的帮助:
         命令  --help(或--h)
 
4. 阅读文件的开头和结尾
         head  -n  2(指定显示行数)  文件名(可多个)
         tail(用法同head)
 
5. 查找文件内容
         grep  un  day(为了在文件day中查找包含un的行)
 
6. 在指定目录下查找东西
         find  目录  -name  *.zip  -print(打印出绝对路径)
 
7.更快速的定位文件:locate
          locate  *.doc          ##locate用于搜索大批量的文件,不需要知道放在了哪个盘
 
8.通配符
          ”*“   用于匹配文件名中任意长度的字符串;
          ”“ 只匹配一个字符;
          ”[ ]“ 用于匹配所有出现在方括号内的字符;例:ls text [1A]  ##列出以text开头而仅以1或A结束的文件名;
          ”-“   指定一个字符集范围;例:ls text [1-3];
 
9.命令行补全:
          一次table键,或连续两次table键
 
修改文件和目录         
  1. 新建目录:mkdir
              mkdir  -v  【文件夹名】          ##-v会显示最后结果
              mkdir  document  picture       ##新建两个目录
              mkdir  ~/picture/remp             ##在主目录下新建名为temp的目录(不能在一个没有的文件中创建文件)
              mkdir  -p  ~/tempx/job          ##可以完整的创建一个子目录
 
  1. 删除目录和文件:rmdir 和 rm
               rmdir  test               ## rmdir 只能删除空目录
               rm  test/*.pnp          ## rm可以一次删除一个或几个文件
               rm  -i  test/hello          ##删除文件前会提示,并等用户通知(对于有写保护的普通文件,不加“-i”也会提示)
               rm  -f  hello_bak          ##“-f”避免交互,自动对这些问题回答y
               rm  -r  Photos/          ##递归的删除目录下的所有文件和子目录,最后删除Photos目录            
 
  1. 新建空文件: touch
               touch hello               ##新建一个hello的空文件
               touch hello.php         ##修改文件的建立日期      
 
  1. 移动和重命名:mv 
               mv hello bin/          ##复制文件
               mv Photos/ 桌面/     ##复制目录
               mv  -i  hello  test/         ##如果已有文件,显示:mv:是否覆盖“test/hello?"
               mv  -b  hello  test/          ##在移动文件之前,首先在同名文件的文件名后加一个”~“
 
  1. 改变文件所有权:chown和chgrp
               sudo chown  lewis:root  days            ##修改days的所有权
               sudo chown  guest  days                  ##只修改文件属主
               sudo chown  :root  days                    ##只修改文件的属组
               sudo chown  -R  lewis  iso/               ## "-R" 表示改变一个目录及其下所有文件(和子目录)的所有权
               sudo chgrp  nogroup  days              ##改变文件的属组
               sudo chgrp  nogroup  ios/              ##改变目录的属组
 
  1. 改变文件的权限:chmod
               chmod  u+rwx  days          ## "用户组+(增加)/-(撤销)权限",用户组包括了文件属主(u), 文件属组(g),其他人(o),和所有人(a)
                                                          ## 权限包括了读取(r)、写入(w)、执行(x)
               chomd  ug=rw,o=r  days     ## "用户组=权限" 
               chmod  o=u  days               ## "用户组1=用户组2",将用户组1的权限和用户组2的权限设为完全相同。
               八进制表示文件权限“rwx”二进制(111)=八进制(4+2+1)=7
 
  1. 建立链接:ln
               “符号链接”(软链接)需要使用带 -s 参数的 ln 命令,只是取了一个别名,删除链接的名字,不会影响源文件
               ln  -s  days  my_days          ##文件建立一个名为my_days的符号链接指向文本文件days(起别名)
               ln  -s  /usr/local/share/  local_share          ## 目录建立符号链接
               “硬链接”,不带参数,将两个独立的文件联系在一起,和符号链接的区别:硬链接是直接引用,符号链接是名称引用
               ln  days  hard_days
 
  1. 输出重定向:“>”“>>”"<<"
               标准输出总是指向显示器
               ls  >  ~/ls_out                    ##如果ls_out文件不存在,那么“>”会试图建立这个文件,
                                                         ##如果已经存在,则“>“会删除文件中原有的内容,然后用新内容替代
               echo  "Hello"  > hello         ##将Hello字符串输入到hello文件中
               echo  "www"  >> hello      ##将字符串 追加 到文本的后面
               uname  -r  >> hello          ##将uname产生的版本信息 追加 到hello中   
               date  >>  hello                  ##将date命令产生的当前日期时间追加到hello中
              例子: “立即文档”
               cat  <<  EOF                    ##cat命令从键盘接收两行输入,并送往标准输出
                    >hello
                    >bye
                    >EOF
               cat  << END > hello          ##首先让cat命令以立即文档的方式获取输入,然后再把cat的输出重定向到hello文件中
                    >hello world
                    >bye
                    >END
  1. 管道“|”          
            例子:ls 首先列出当前目录下的所有文件名,管道“|”接收到这些输出,并把它们发送给grep命令作为输入。最后grep在这堆文件列表中查找              
           包含字符串ay的文件名,并在标准输出(也就是显示器)中显示。
           ls  |  grep  ay
           days
           hard_days
           mplayer
           mplayer~
           my_days
 
  1. 打开文本文件:vi、vim、sudo gedit  文件路径(可绝对可相对,在gedit中打开) 
          sudo gedit 文件路径          ##如果没有该文件,系统会自动创建
 
  1. 压缩工具:gzipbzip2
          gzip(或gunzip)支持的扩展名有 . gz、. Z、-gz、. z、-z 和 z
          gzip  test.tar               ##压缩 ,会被压缩成test.tar.gz(替换)
          gunzip test.tar.gz       ##解压缩,方法1
          gzip  -d  test.tar.gz     ##解压缩,方法2
          gzip  -l  test.tar.gz      ##查看压缩效果,文件大小以字节为单位
          gzip  -tv  test.tar.gz    ##-t选项用来测试压缩文件的完整性,-v 显示测试结果
       
          bzip2可以识别压缩文件的格式包括.bz2、.bz、.tbz2、.tbz和bzip2,与gzip用法基本一致,有更高的压缩率,但是以压缩速度为代价
          bzip2  test.tar             ##压缩,会被压缩成test.tar.bz2(替换)
          bunzip2 test.tar.bz2    ##解压缩,方法1
          bzip2 -d test.tar.bz2    ##解压缩,方法2
 
  1. 存档工具:tar、dd
          文件打包:tar(和gzip不同的是,tar不会删除原来的文件
               tar  -cvf  test.tar  test/          ##将Shell目录连同其下的文件一同打包成文件test.tar
                    -c 指导tar创建归档文件,
                    -v 用于显示命令的执行过程,
                    -f 则用于指定归档文件的文件名                  
               tar  -xvf  test.tar                    ##解开归档文件
                    -x 用于解开归档文件
               tar  -cvwf  test.tar  test/          ##压缩征求用户意见
               tar  -xvwf  test.tar                    ##抽出时征求用户意见
                    -w 用于每次将单个文件加入(或者抽出)归档文件时征求用户的意见,y/n
               tar  -czvf  shell.tar.gz  shell/     ##直接将文件压缩成shell.tar.gz格式
                    -z 先调用tar命令,再调用gzip命令,等同于两条指令                   
               tar  -xzf shell.tar.gz                   ##直接解压成shell
                    -z 先调用gunzip指令,再调用tar指令
          转移文件:dd
               dd  if=/dev/cdrom  of=CD.iso          ##dd命令使用 if 选项指定输入端的文件系统,而 of选项则指定其输出端。
                                                                       ##这条命令将一张CD完整的转储为iso镜像文件
 
 
 
 
原文地址:https://www.cnblogs.com/chinawjb/p/5240839.html