常用linux命令总结

Posted xiaofengfree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用linux命令总结相关的知识,希望对你有一定的参考价值。

ls -R:递归显示指定目录下的文件清单,即会显示指定目录分支内各子目录中的文件清单

ls  -l:以长格式列表输出指定目录中的文件清单
       文件类型 文件权限   链接数  属主    属组    大小   日期   时间    文件名
       d     rwxrwxr-x     2     user1  user1 4096  Aug 17 09:10  abc

pwd 显示当前工作目录(print working directory)

touch 创建空文件

halt 关机
                                    
mkdir 创建目录(make directoriy)
  -p 父目录不存在情况下先生成父目录 (parents)            
  cp 复制文件或目录(copy)
  -r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)     
  mv 移动文件或目录、文件或目录改名(move)

rm 删除文件(remove)
  -r 同时删除该目录下的所有文件(recursive)
  -f 强制删除文件或目录(force)

rmdir 删除空目录(remove directoriy)

cat 显示文本文件内容 (catenate)
cat 创建文件
       cat  >  myfile2
       Welcome to Linux World!
    按ctrl+d结束输入
    功能:利用输出重定向符“>”来创建简短的文本文件myfile2。


more、less 分页显示文本文件内容
  more  /etc/services
  功能:分屏显示指定文件httpd.conf的内容,非常适合显示超过一屏的文本文件。每按一下空格键,向后翻  一屏;每按一次回车键,向后翻一行。
  说明:与more功能很相似,只不过less功能更强大,支持PageUp键向前翻屏,及PageDown向后翻屏。


head、tail查看文本中开头或结尾部分的内容
  tail  显示文件最后10行内容
  head  显示文件头10行内容
  head  -n  5  a.log 查看a.log文件的前5行
  tail  -f  b.log 循环读取(fellow)

du 显示指定的文件(目录)已使用的磁盘空间的总量
  -h 文件大小以K,M,G为单位显示(human-readable)

ifconfig   显示网卡网络配置详细
   ifconfig  eth0 192.168.1.3   netmask 255.255.255.0  功能设置指定ip与子网掩码
   说明:eth0是系统中第1块以太网卡的名称,eth1是系统中第2块以太网卡的名称,以此类推。lo是环回测试网卡的名称。
ifconfig   禁用某块网卡
   ifconfig  eth0  down
   功能:禁用网卡eth0。
   说明:此时再用不带参数的ifconfig命令是不能显示eth0的信息的,需要加上参数“-a”才可显示被禁用的网卡信息。
ifconfig   激活某块网卡
   ifconfig  eth0  up
   功能:激活网卡eth0。


ping 测试网络的连通性
 
find 用来查找文件的命令
  find  /  -name  "dhcpd*"
  功能:参数-name指明按文件名进行查找,即从/目录开始查找以dhcpd开头的所有文件。

find  按文件大小查找
  find  /etc  -size  8
  功能:从/etc下开始查找大小为8块的文件,此处默认512字节为1块。若认为块大小为1k,则应写为8k。
  其它可以使用的单位有c(字节)、w(双字节)、M(兆字节)和G(吉字节)。

find  按文件类型查找
  find  /var  -type d  -print
  功能:从/var目录下开始查找类型为目录的文件,其中参数-print是显示到屏幕上的意思,经常省略。

find  按文件的修改时间查找
   find  .  -cmin -5
   功能:从当前目录下查找5分钟之内修改过的文件。
   如果把“-5”改为 “+5”,则表示查找5分钟以前修改过的文件。不带“+”或“-”,则认为整5分钟。
   如果把时间单位改为天,则使用参数“-ctime”,请看示例:
   find  .  -ctime -5

find  按文件的权限查找
   find  mytmp  -perm  755
   功能:查找mytmp目录下的权限恰为755的文件。
   find  mytmp  -perm  +755
   功能:查找mytmp目录下的满足755中任何一种权限的文件,即符合任何一个指定的权限位即可。
   find  mytmp  -perm  -755
   功能:查找mytmp目录下的权限至少满足755的文件,即指定的所有权限位必须符合才算满足查询条件。

grep  在指定的文件中查找包含特定的字符串的行
   grep  "bind"  host.conf
   功能:在文件host.conf中查找包含字符串“bind”行。
   grep  "network"  /etc/*.conf
   功能:利用通配符可在多个文件中查找包含特定的字符串的行。本例会在/etc下扩展名为.conf文件中查找包含字符串“network”的行。

grep  查找不包含指定字符串的行
    grep  -v  "network"  /etc/nsswitch.conf
    功能:查找/etc/nsswitch.conf文件中不包含字符串“network”的行。


关闭防火墙:
service iptables stop

设置开机不启动防火墙:
chkconfig iptables off

service network restart

service 命令
  service 服务名 status
    说明:查看某个服务的运行状态
  service 服务名 start
    说明:启动某个服务
  Service 服务名 restart
    说明:重启某个服务
  Service 服务名 stop
    说明:停止某个服务
chkconfig  命令查看开机启动项
  chkconfig --list  说明查看开机启动项列表
  chkconfig --del  启动项名称  说明:删除启动项
  chkconfig --add  启动项名称  说明:添加启动项

tar命令 是经典的备份/还原命令,几乎所有最新的软件包都是通过tar包发布的。
  -c 建立一个压缩文件的参数指令(create)
  -x 解开一个压缩文件的参数指令(extract)
  -z 是否需要用 gzip 压缩 扩展名为gz
  -v 压缩的过程中显示文件(verbose)
  -f 使用档名,在 f 之后要立即接档名(file)是用来指定文档名;

   通常组合使用:
   (tar -cvf aaa.tar file1.txt file2.txt 将file1和2打包成aaa.tar)
   (tar -zcvf aaa.tar.gz file1.txt file2.txt 将file1和2打包成aaa.tar并压缩)
   (tar -zxvf aaa.tar.gz file1.txt file2.txt 将aaa.tar.gz解压)

echo  用来输入命令
   echo "i kollll"
   echo "ikklkl" >> aa.txt

ps命令  查看进程
   ps : 查看在当前控制台上运行的进程
   ps -aux : 查询系统中所有运行的进程 包括后台进程其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户
   ps -ef: 查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号

ps aux|grep  tomcat  查看所有的tomcat相关的进程


pstree命令  以树状格式显示系统的进程列表
   pstree -p : 以树状格式显示系统的进程列表,并标识出每个进程的(进程号)

top命令动态地显示系统中的进程

kill命令 杀掉指定进程
   kill  3029 : kill命令可以杀掉一个进程,当然普通用户只能杀掉自己的进程
   (说明):上述命令中3029是进程号;一般在执行kill命令之前,先用ps或pstree来查询一下将要被杀掉的进程的进程号。
   kill  -9  3029 : 强制终止3029号进程的运行,其中参数-9代表强制的意思
   (说明):实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行

vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单。
  vi插入命令
  i 在光标前插入  
  a 在光标后插入
  I 在光标当前行开始插入
  A 在光标当前行末尾插入
  o 在光标当前行的下一行插入新行
  O 在光标当前行的上一行插入新行
  esc 回车
  vi file 普通命令模式
  vi定位命令
  :set nu  显示行号
  :set nonu  取消行号
  gg  到文本的第一行
  G   到文本的最后一行
  :n  到文本的第n行
  u   undo,取消上一步操作  撤销
  ctrl + r  返回到undo之前

  Vi退出
  shift + zz  保存退出,与“:wq”作用相同
  :q          退出不保存
  :q!         强制退出不保存
  :wq         保存退出
  :wq!        强制保存退出

RPM命令使用  查询系统中安装的软件包
 rpm的常用参数
   -i:安装应用程序(install)
   -e:卸载应用程序(erase)
   -vh:显示安装进度;(verbose   hash)
   -U:升级软件包;(update)
   -qa: 显示所有已安装软件包(query all)
   rpm  -ql  php  查询软件包中文件清单
     功能:查询已安装的软件包php中的文件列表,其中参数-l的功能是“列出指定软件包中的文件”。
   rpm -e php   卸载指定的软件包
   rpm  -ivh  php-4.3.9-3.1-i386.rpm   安装软件包
   rpm  -ivh  --force  php-4.3.9-3.1-i386.rpm    强制安装软件包
     说明:如果要安装的软件的版本比较低或该软件包在系统中已存在,系统会给出提示并拒绝安装,此时可以加上参数—force来进行强制安装。
   rpm  -ivh --nodeps  php-4.3.9-3.1-i386.rpm  忽略依赖关系安装软件包
     说明:在安装或卸载软件时经常会遇到提示“该软件包与某某软件包存在依赖关系”,只有加上参数--nodeps忽略掉依赖关系才能进行安装或卸载。  
   rpm  卸载
      首先通过?rpm -q <关键字> 可以查询到rpm包的名字
      然后 调用 rpm -e <包的名字> 删除特定rpm包
      如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包  

YUM命令
   Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
   例子(需要上网):
   yum  install  gcc-c++
   yum  remove   gcc-c++
   yum  update   gcc-c++

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
  Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器   就可以了。Linux 的 Shell 种类众多,常见的有:
  Bourne Shell(/usr/bin/sh或/bin/sh):一个古老的shell,1977年诞生
  Bourne Again Shell(/bin/bash):由于其简单易用,所以在工作中被广泛的使用
  C Shell(/usr/bin/csh):语法与C语言类似,功能强大
  Korn Shell(/usr/bin/ksh): 对Bourne Shell的扩充
  Shell for Root(/sbin/sh) 等等 ...

vi /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0 #网卡设备名称
  ONBOOT=yes #启动时是否激活 yes|no
  BOOTPROTO=static #协议类型 dhcp bootp none
  IPADDR=192.168.134.136 #网络IP地址
  NETMASK=255.255.255.0 #网络子网地址
  GATEWAY=192.168.134.1 #网关地址
  BROADCAST=192.168.134.255 #广播地址
  TYPE=Ethernet #网卡类型为以太网

命令书写说明:
Linux 命令及其参数是严格区分大小写
Linux文件名严格区分大小写
例如: ls -a  不可写成 LS -a
Linux下文件的路径:
  在Linux中存在着绝对路径和相对路径之分:
    绝对路径:路径的写法一定由根目录”/”写起。比如 /usr/local/sbin
    相对路径:路径的写法不是由根目录”/”写起。比如执行命令:cd /home > cd admin1 ,那么当前所处    目录为/home/admin1下,/home为绝对路径,而admin1则为相对路径,相对于当前的/home目录的一个位置

cd命令:
通过指定一个绝对路径或相对路径,使用cd可以进入到目标目录下
示例:
  cd /etc //进入到etc目录下
  cd sysconfig //在etc下执行,进入到/etc/sysconfig下
  cd ./  // 当前目录
  cd ..  //返回上一级目录
  cd ~ | cd  // 进入到用户的家目录,如果是root用户,则进入/root目录

Linux采用组来组织和管理用户
  在Linux中每个用户有唯一的用户标识符UID,该UID是一个无符号整数。同时每个用户也必须至少属于一个  组,也有组标识符GID。其中UID与GID独立编号。

groupadd  创建组账号
  groupadd  mygroup1
  功能:创建一个新组mygroup1,其GID号为已存在GID号的下一个顺序编号。
  说明:创建一个组的同时会在/etc/group文件中为该组增加相应的一行,用来记录该组的名称、GID号及成  员等信息。
groupadd  创建组账号并设置其GID号
  groupadd  -g 5000  mygroup2
  功能:创建一个新组mygroup2,并指定其GID号为5000,其中-g用来设置用户的主要组,每个用户都有一个  主要组。

useradd  创建用户账号
   useradd  user1
   功能:创建一个用户user1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应    的主目录:/home/user1。
   说明:/etc/passwd文件记录了系统中每个用户的用户名、UID号、GID号、主目录、shell等信息。
   注意:用户的口令原来也存放在此文件中,现在为了保证安全采用了影子口令文件/etc/shadow来保存每个    用户的口令。
useradd  创建用户账号并设置相应属性值
   useradd  -u 600    -g mygroup1     -G mygroup2    -d  /home/student1  s1
   功能:创建用户s1,其中参数
     -u指定UID号为600;
     -g指定用户的主要组为mygroup1;
     -G指定用户的附加组为mygroup2,每个用户可以有多个附加组;
     -d 指定用户的主目录为/home/student1。

userdel  删除用户
    userdel  user1
    功能:删除指定的用户user1。

userdel 删除用户的同时删除其主目录
    userdel  -r  user2
    功能:删除指定的用户user2,同时删除其主目录。
groupdel mygroup2
    功能:删除指定的组
    注意:当某个组是某现有用户的主要组时,则不能被删除。

passwd  改变口令
passwd  禁止用户登录  
    passwd  -l  user1
    Locking password for user user1.
    passwd: Success
    功能:参数-l 可以给指定的用户user1加锁,即禁止该用户登录。
passwd 恢复用户登录
    passwd  –u  user1
    Unlocking password for user user1.
    passwd: Success.
    功能:参数-u 可以给指定的用户user1解锁,即恢复该用户登录。
passwd 删除用户口令
    passwd  -d  user1
    Removing password for user user1.
    passwd: Success
    功能:参数-d 可以删除指定的用户user1口令,即以user1登录时无需口令。

usermod命令
   usermod  -u  601  -g 501  s1
   功能:将(已存在的)用户s1的UID号修改为601、主要组修改为501。

id命令
   id  user1
   uid=501(user1) gid=501(user1) groups=501(user1)
   功能:显示用户的UID、GID及所属的组信息。

chown命令  改变文件的属主
   chown  user1  hello.txt
   功能:将指定文件hello.txt的属主(所有者)改为user1。
chown  递归改变文件的属主
   chown  -R  user1  mydir
   功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属主(所有者)改     为指定的用户;本例中会将mydir目录中所有子目录和文件的属主设定为user1。

chgrp  改变文件的属组
      chgrp  mygroup1  hello.txt
      功能:将指定文件hello.txt的属组改为mygroup1。
chgrp  递归改变文件的属组
      chgrp  -R  mygroup1  mydir
      功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属组改为指定的        组;本例中会将mydir目录中所有子目录和文件的属组设定为mygroup1。

chmod    字母方式
   图中字母u针对属主、g针对属组、o针对其他用户、a针对所有用户;
   =表示赋予(设置)指定权限,要注意它会覆盖原权限,
   +表示在原有权限的基础上增加指定权限,
   -表示在   原有权限的基础上去掉指定权限;
   r、w、x三种权限,既可以单独使用也可以组合使用

chmod  u+x  host.conf
   功能:为文件host.conf的属主增加执行权限。
chmod  g-w,o=x  host.conf
   功能:将文件host.conf的属组去掉写权限,同时将其他用户设置为只有执行权限,而文件属主的权限不变

chmod    数字方式
   chmod的数字使用方式,使用起来也是很方便的,关键是一个数制转换的问题。
   这种方式是先将每个权限位化成二进制数,其中如果某权限位是“-”则用0来表示,否则用1来表示;接着   ,将这9列权限分为三组(每三位一组),再将每组化成一个八进制数。
   例如,某文件有如下权限rwxrw-r--,则转换为二进制数为111110100,再化为八进制数则为764;反之,      当看到八进制数764时也应该很快转化为相应权限。  rwx  421
chmod  764  host.conf
   功能:将文件host.conf的权限设置为:
   属主拥有全部权限;
   属组拥有读写权限;
   其他用户拥有只读权限。

ln命令 建立硬连接
   ln  myfile  myfile.hlink
   功能:为文件myfile创建名为myfile.hlink的硬连接。
   ls  -il
   180590 -rw-rw-r--  2  user1 user1   12 Aug 17 12:14 myfile
   180590 -rw-rw-r--  2  user1 user1   12 Aug 17 12:14 myfile.hlink
   说明:通过ls  –il 命令可以看出myfile与myfile.hlink的i节点号(最左面的数)是一样的,即硬连接与原文件共用同一个i节点,请注意两个文件的连接数(位于长格式列表中权限位与属主之间的数)都增加了1变成2了。

ln命令  建立符号连接
   ln  -s  myfile  myfile.slink
   功能:为文件myfile创建名为myfile.slink的符号连接。
   ls  -li
   180590 -rw-rw-r--    2  user1 user1   12 Aug 17 12:14 myfile
   180590 -rw-rw-r--    2  user1 user1   12 Aug 17 12:14 myfile.hlink
   180606 lrwxrwxrwx  1  user1 user1    6 Aug 21 06:21 myfile.slink -> myfile
   说明:试试用rm命令删除myfile文件,注意观察连接数的变化,再分别访问myfile.hlink和myfile.slink,看看是否能够正常访问,解释为什么会有这样的结果。

which命令
   which cp
     /bin/cp
   which updatedb
     /usr/bin/updatedb
   功能:显示命令的绝对路径。
   注意:该命令只能在命令搜索路径指定的目录中去查找命令或程序。
   whereis ln
     ln: /bin/ln /usr/share/man/man1/ln.1.gz /usr/share/man/man1p/ln.1p.gz
   功能:查询指定命令所在目录以及帮助文档所在目录。

alt+p  移入文件




















































































































































































































































































































































































以上是关于常用linux命令总结的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习总结(80)—— 开发人员最常用的 Linux 命令总结

Linux 常用命令总结

Linux常用命令总结

Linux常用命令总结

Linux常用命令总结

Linux常用命令总结