Linux常用基本命令

Linux下简单的操作:

  • env 查看系统环境设置
  /etc/profile是针对所有用户,export xxx=xxx, source profile生效
      某一用户mr,/home/mr/.bash.profile,修改后执行source /home/mr/.bash.profile生效,如果没有执行,需要系统重启才能生效
 
  • 设置启动项chkconfig, chconfig --list 查看启动列表
  启动mysql,chkconfig mysqld on。同理,要取消掉某个服务自动启动,只需要将最后的参数“on”变更为“Off”即可。比如要取消postfix的自动启动:chkconfig postfix off 值得注意的是,如果这个服务尚未被添加到chkconfig列表中,则现需要使用–add参数将其添加进去:chkconfig –add postfix。从系统启动项列表删除一个服务,使用–del选项从启动列表删除它:chkconfig --del ip6tables 。如果要查询当前所有自动启动的服务,可以输入:chkconfig –list 但是这样显示东西太多了,看起来很晕。如果只想看指定的服务怎么办呢?这个时候只需要在“–list”之后加上服务名就好了,比如查看httpd服务是否为自动启动,就输入:chkconfig –list httpd。这个时候输出的结果:httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off。此时0~6均为off,则说明httpd服务不会在系统启动的时候自动启动。我们输入chkconfig httpd on后,再次检查输出结果变为:httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off。这个时候2~5都是on,就表明会自动启动了
 
  • 查看线程(LWP)使用情况
pstree | grep program
pstree -p |grep program
ps -eLf | grep program
ps -ef | grep program
top -H
PS:注意每一列输出代表的含义
 
  • 查看内存的使用情况

  proc cat /proc/meminfo or /proc/pid/statm  status,atop,htop,top,smem,memstat,vmstat // vmstat -m,free //free -h,nmon,ps。如果以上命令不存在,安装对应的包即可,如brew install htop。不同的系统可能无法兼容同一安装包

  • find 
           find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} ;
           在某一目录下查找文件内容 ~ find /your/directory -exec grep -l 'your char' {} ;
           ‘.’代表当前目录
           ‘/’代表根目录
           ‘~’代表home下对应用户目录,如/home/glee
           ‘|’代表管道命令,连接两个不同的命令,如less name | grep ...
            -print:将匹配的文件标准输出
            -exec:以" {} ;" 结尾,执行find命令 匹配的文件执行的对应shell命令 "command {} ;",如grep "file*" {} ; 对搜索file*匹配的文件内容
            -ok:与exec类似,但比exec更安全,执行命令前会让用户确定是否执行该操作
            查找.h或.cpp文件内的“Player”字符串:find . -name *h -o -name *.cpp |xargs grep -ri "Player"
            删除目录下所有.svn目录及下面的文件,find path -type d -name ".svn" |xargs rm -rf
 
  • date
需要root权限,或加 sudo 前缀
系统时间
    修改时间:sudo date -s "2008-05-23 01:01:01",PS:时间的输入有多种格式
  查看时间:date
    同步网络时间:ntpdate asia.pool.ntp.org
硬件时间(主板供电计算)
    hwclock --show
    hwclock --hctosys (硬件时间同步系统时间)
    hwclock --systohc (系统时间同步硬件时间)
    PS:hc~硬件,sys~系统
    系统时间依赖于硬件时间,系统每次启动都会去读取硬件时间,然后独立运行
 
  • ifconfig 查看网络配置 -a,更改网络接口的IP地址
  ifconfig hme0 downifconfig hme0 211.101.149.233 netmask 255.255.255.0 up  首先,使用down命令参数把网络接口hme0的服务暂时停止,然后再用Linux查看ip的ifconfig命令给接口分配新的IP地址和掩码,并启动网络接口服务,也可以通过改变文件/etc/hosts中的IP地址的值并重新启动系统来更改机器的IP地址。 
  /etc/hosts/: 211.101.149.11   sampdt  定义主机名在/etc/hostname.hme0及IP地址。
  更改了网卡/增加了网卡,系统不能自动启动该接口服务,这时需要手动创建网口服务: 
  #ifconfig hme0 plumb  
  Linux查看ip即可以为接口le0创建网口服务,相应地,用ifconfig带unplumb参数可以停止服务并关闭网络.netconfig 用来设置IP地址 
  • grep 文件内容或目录搜索
      grep ‘条件’ path,如 grep there filename 从filename中找出there的匹配字符 
      grep -v there filename 反向搜索
    grep [tf] filename 正则表达式搜索 匹配 t f两个字符
 
  • 安装工具 apt-get/yum/brew 等,如:
     yum - “@Chinese Support” //支持中文输入法
     yum install flash-plugin
 
  • script 记录终端内容,如 script -a script.txt 
  • less命令,less path 打开,q 退出
  • more 命令
more path //打开
space 或 ctrl+f 下一页
q退出
more -number  path 设置每页显示行数
ls -l | more -3 每页显示3行文件
more /day3 path  "day3"表示寻找第一次出现该字符串处开始显示
 
  • 关机/重启
关机:halt
   poweroff
   shutdown -h now 立刻关机 
   shutdown -h 10    十分钟后关机
重启:reboot
   showdown -r now              立刻重启
   shutdown -r 10                 十分钟后重启
   shutdown -r 21:30               21:30 重启 
 
  • 文件操作相关
  touch path 修改文件最后使用时间
  rm -rf path 删除目录及子目录下的所有文件,rm代表remove,r表示循环,f表示不需要再次确认
  rmdir path      删除一个空目录
  cp -rf path_1 path_2     复制,path_1源路径,path_2目标路径
  mv path_1 path_2         移动,path_1源路径,path_2目标路径
  mkdir path     创建一个目录
  ls -l      list,列出文件目录下的所有文件信息
  du -h --max-depth=1 path 查看path路径下所有文件、文件夹大小 Path为空表示当前目录
  chmod 755 path 分配文件所属组,所属者,其他人权限
  chmod a+rwx /home/abc.sh 采用root用户执行该命令~对所有级别的用户赋予读、写、执行该shell脚本的权限
  sudo chown glee path 改变文件的拥有者为glee用户,使用超级用户权限执行
  sudo chgrp root path 改变文件的所属组为root组,使用超级权限执行
 
  •  9个权限位说明
             1  ~文件类型 ‘-’普通文件,‘b’特殊块文件‘c’特殊字符文件‘d’目录‘l’软链接‘p’FIFO管道文件‘s’socket套接口文件 ‘w’whiteout..
             2~4 文件所有者权限
             5~7 文件所属组权限
             8~10 其它用户权限,非所有者及非所属组权限
            ‘w’写‘r’读‘x’执行‘-’无‘S’‘s’
 
  • screen

           screen -x path 进入开启的会话模式

           screen (path)进入会话窗口模式

           ctrl+a+c 新建会话

           ctrl+a+A 重命名会话

           ctrl+a+k 关闭当前会话(会kill当前进程)

           ctrl+a+d 退出

           ctrl+a+num num 表示会话id(0 - 9)           

    screen -S yourname -> 新建一个叫yourname的session           

    screen -ls(或者screen -list) -> 列出当前所有的session           

    screen -r yourname -> 回到yourname这个session           

    screen -d yourname -> 远程detach某个session

           screen -d -r yourname -> 结束当前session并回到yourname这个session
 
  • ps,ps -A|grep processname 查找进程包含“processname ”
a 显示现行终端机下的所有程序,包括其他用户的程序。
-A 显示所有进程。 
c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
-e 此参数的效果和指定"A"参数相同。
e 列出程序时,显示每个程序所使用的环境变量。
f 用ASCII字符显示树状结构,表达程序间的相互关系。
-H 显示树状结构,表示程序间的相互关系。
-N 显示所有的程序,除了执行ps指令终端机下的程序之外。
s 采用程序信号的格式显示程序状况。
S 列出程序时,包括已中断的子程序资料。
-t <终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。
u 以用户为主的格式来显示程序状况。
x 显示所有程序,不以终端机来区分。
 
  • kill
            kill pid 或 kill -9 pid结束进程,如果使用后者命令还是没法结束该进程,只能重启系统 
            kill -9 -1 终止当前用户所拥有的所有进程
 
  • netstat
            netstat -an|grep LISTEN -i
            netstat -an|grep port
 
  • cat  
cat file  打开文件
cat >> file 往文件末尾增加内容
cat > file 创建文件(如果存在,会把原有文件删除,新建)
cat -n file 
cat file_1 file_2 > file 文件file_1,file_2合并到file
de>cat [选项] [文件]...de> 
选项 :
-A, --show-all 等价于 -vET 
    -b, --number-nonblank 对非空输出行编号 
-e 等价于 -vE 
-E, --show-ends 在每行结束处显示 $ 
-n, --number 对输出的所有行编号 
-s, --squeeze-blank 不输出多行空行 
-t 与 -vT 等价 
-T, --show-tabs 将跳 字符显示为 ^I 
-u (被忽略) 
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 
--help 显示此帮助信息并离开
 
  •  sort file 对file内容进行排序,默认按照字符 sort -n file按照数字排序
  • scp
           scp file user@ip:path 将file文件拷贝到某一主机 
           例:scp /home/glee/text.txt root@192.168.0.112:/home/glee/   需输入root用户密码
      scp -r -i GC_KB_00003 km-php root@115.159.36.242:/var/www/html/
                       -r 表示包含拷贝目录下的所有子目录文件
                       -i 认证文件
 
  • 压缩与解压 
  zip、unzip、bzip2、bzcat、bunzip2
      bzip2 filename 压缩
      bunzip2 fielname.bz2 解压
      bzcat filename.bz2 查看压缩文件内容
      gzip、gzcat,gunzip 用法类似
tar [主选项+辅选项] 文件或目录
    主:归档(c)、拆包(x)、列出内容(t)     
    辅:-z 是否具有gzip属性,压缩或解压,如:xxx.tar.gz或xxx.tgz
            -j 是否具有bzip属性,压缩或解压,如:xxx.tar.bz2
            -v 压缩过程显示文件
            -f  显示档名,f之后不能加其它参数,接档名
            -p 使用原文件原属性
 
  • 硬盘挂载mount
df -h 查看硬盘容量
fdisk -f 查看当前硬盘    
mount /dev/path path
卸载 umount path    
 
  • df 查看磁盘剩余空间
           du显示当前目录及子目录磁盘使用情况,以块为单位显示占用空间
           ps:两个命令同时使用用‘|’分隔(管道命令),如: du -sh * | sort -nr ,其中-r表示降序
 
  • 防火墙
   打开防火墙配置 vi /etc/sysconfig/iptables
   查看防火墙端口状态/关闭/重启 /etc/init.d/iptables status/stop/restart
   放开80与22端口:
     #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT  
     #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT  
     #/etc/rc.d/init.d/iptables save 
     重启计算机后,防火墙默认已经开放了80和22两个端口。
   永久性关闭防火墙:#chkconfig --level 35 iptables off 
     验证设置是否生效:iptables -L
  • selinux
         getsebool -a | grep httpd 查看httpd相关的功能是否开启
         setsebool xxx 1(或0) 
 
  • tail tail -f filename
原文地址:https://www.cnblogs.com/Lucky-qin2013/p/6709035.html