zoukankan      html  css  js  c++  java
  • 常用的linux基础命令

    常用的linux基础命令

    1、ls 显示目录属性

        -l:(也可以简写成ll),列表显示权限等属性

       -a:显示所有文件包括隐藏文件等

       -d:只列出目录本身

    2、chgrp 改变档案所属群组

         eg:chgrp users install.log/

    3、chown 改变档案拥有者

         eg:chown emily install.log ; chown Emily:users install.log

         -R : 迚行递归(recursive)的持续变更,亦即连同次目彔下的所有档案都变更/

    4、chmod 修改权限,r=4,w=2,e=1

        eg:把.bashrc这个档案的权限修改回-rw-r--r--的指令chmod 644 .bashrc或者chmod

        -R 修改文件夹及其子文件的权限

    5、cd 变换目录

        cd代表回到当前用户的家目录,等同于cd ~

        ..回到上一级目录    

        .当前目录  

         ~家目录 

         -之前的目录,上一个目录

    6、pwd 显示当前目录

         -P:表示显示确实的路径,例如var/mail,mail是个链接档,加上-P会显示mail的实际路径var/spool/mail

    7、mkdir 建立一个新的目录mkdir test

         -p递归创建子目录,例如test/test1/test2  ;  -m 不使用默认权限,创建目录的时候加权限

    8、rmdir 删除一个空的目录 rmdir test

        -p:删除上层目录

    9、cp 复制cp -rf file /tmp

    cp:复制指定文件到另一文件或目录

    用法: cp [-abrifLP] [source] [dest]

    -a:尽可能的将文件的属性、权限的内容都照原状复制

    -b:如果目的文件存在,就创造一个备份

    -r:若源中有子目录,则将子目录下的文件及目录亦全部复制至目的目录

    -i:若目的地有重复的文件,询问是否覆盖

    -f:若目的地有重复的文件,则覆盖原有文件

    -L:复制符号链接,自动修改链接以保证链接有效

    eg:cp -rf a.txt /tmp 

    10、rm 删除档案或目录rm -rf a.txt

     rm:用来删除文件或目录

    用法:rm [-ifr] name

    -r:删除目录及子目录,目录下如果有子目录及文件也会被删除

    -f:不询问直接删除

    -i:删除前逐一询问确认

    注意: 删除的文件非常难恢复,没有windows的回收站

    eg:删除/tmp/logs下所有文件

    rm -rf /tmp/logs/*

    11、mv 移动mv file /tmp

     mv:用来为文件或目录改名,或者将文件由一个目录移入另一个目录中

    用法:mv[options] 源文件或目录目标文件或目录

    -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件。

    -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。

    eg:将/usr/local/tomcat下所有文件移动到 /tmp/tomcat下

    mv /usr/local/tomcat/* /tem/tomcat

    将a.txt改名为b.txt

    mv a.txt b.txt

    12、cat  由第一行开始显示档案内容cat test.txt

    13、tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

    14、nl 显示的时候,顺道输出行号!

    15、more 一页一页的显示档案内容 more 档案名

    空格键 (space):代表向下翻一页

      Enter :代表向下翻『一行』;

    字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;

    :f :立刻显示出文件名以及目前显示的行数;

    q :代表立刻离开 more ,不再显示该档案内容。

    b 或 [ctrl]-b :代表往回翻页,不过这么做只对档案有用,对管线无用。

    16、less  和more 类似,但是比 more 更好的是,他可以往前翻页, 可以用PgUp/PgDn

    17、head 只看头几行

    18、tail 动态查看文件内容 tail -f error.log

    tail:查看文件末尾内容

    用法:tail [参数] [文件]

    主要参数:

    -f 动态读取

    eg:动态查看日志 tail -f err.log

    查看末尾10行日志 tail -10 err.log

    动态查看末尾5行日志 tail -5f err.log

    19、od 以二进制的方式读取档案内容

     

    20、touch 修改档案时间或建新档

    21、df 列出文件系统整体磁盘使用量

       -h:以M/G的形式显示大小

       -i:列出可用的inode的使用量和剩余量 df –ih

       eg:df –h /etc   将/etc 底下的可用的磁盘容量以易读的容量格式显示

             df –aT将系统内的所有特殊文件的格式及名称列出来  

    22、ps 查看某个进程情况

         eg:ps –ef|grep java

    23、du 列出目前目录下所有档案容量

    du:文件和目录的磁盘使用空间

    用法:du [选项][文件]

     -s或--summarize 仅显示总计,只列出最后加总的值

    -h或--human-readable 以K,M,G为单位,提高信息的 可读性

    -k或--kilobytes 以KB(1024bytes)为单位输出

    -m或--megabytes 以MB为单位输出

    -S或--separate-dirs 显示个别目录的大小时,并不含其子 目录的大小

         eg:du –sm /* 检查根目录地下每个目录所占用的容量

    24、gzip 压缩文件

    Gzip:压缩和解压缩

    命令格式:

          gzip –[1…9] [trv] file

          gunzip file

    -1:表示压缩速度最快,压缩比最低

    -9:表示压缩速度最慢,压缩比最高

    -t:表示校验压缩文件的完整性

    -r:表示压缩时包含子目录中的内容

    -v:表示压缩时显示正在压缩的文件名和压缩比等资料

    eg:gzip -1trv test.txt

        gunzip test.txt.gz

     

    25、tar 打包

     tar:文件打包

    用法 :tar[参数] 目标文件 源目录或文件

    主要参数:

    -c:创建新文档

    -x:解压缩归档文件

    -f 文件名:使用归档文件

    -j:使用bzip2解压缩

    -z:使用gzip解压缩

    -v:详细输出模式

    eg:tar zcvf test.tar test#压缩

    tar zxvf test.tar #解压缩

         eg:tar –cv –f etc.tar etc  打包

              tar –xv –f ect.tar   解包

              tar –zpvc –f /root/etc.tar.gz   打包并压缩

              tar –jpvc –f /root/etc/tar.bz2   打包并压缩

              tar –zxv –f /root/etc.tar.gz  解包解压缩

              tar –jxv –f /root/etc.tar.bz2  解包解压缩 

    26、zip压缩、unzip解压缩

    功能:压缩zip包和解压缩以.zip结尾压缩文件

    命令格式:

      zip [选项] 压缩文件名 需要压缩的文档列表

    -r 递归压缩,将指定目录下的所有文件以及子目录全部压缩

    -x “文件列表” 压缩时排除文件列表中指定的文件

    -m 将文件加入压缩文件压缩后,删除原始文件,即把文件移到压缩文件中

    - 压缩级别 压缩级别是一个1~9的数字

    可以不加任何参数使用

      unzip [选项] 压缩文件名

    -x "文件列表" 解压文件,但不包含文件列表中指定的文件

    -t 测试压缩文件有无损坏,并不解压

    -v 查看压缩文件的详细信息,具体包括压缩文件中包含的文件大小、文件名和压缩比等,并不解压

    -n 解压时不覆盖已经存在的文件

    -o 解压时覆盖已经存在的文件,并且不要求用户确认

    -d 目录名 把压缩文件解压到指定目录下

    可以不加任何参数

    eg:zip -9r /opt/etc.zip /etc #把/etc下所有文件和文件夹压缩到/opt下的etc.zip

    zip –r /opt/var.zip /var –x “*.log”#把/var下所有的文件和文件夹除了以.log结尾的都压缩到/opt目录的var.zip中

    unzip –o /opt/etc.zip –d /etc #把/opt/etc.zip解压到 /etc目录下

    27、find查找目录下的文件

    find:查找目录下的文件

    用法: find 目标目录 搜索参数 操作参数

    主要参数:

    -name 文件名:可以跟通配符

    -amin 分钟数:文件最后访问时间为指定分钟之前,负数表示之后

    -atime 天数:文件最后访问时间为指定天数之前,负数表示之后

    -cmin 分钟数:文件最后修改时间为指定分钟之前,负数表示之后

    -ctime 天数:文件最后修改时间为指定天数之前,负数表示之后

    -user 用户名:属于用户的目录和文件

    -type 文件类型

    eg:find / -name test

    28、vi 编辑文件

     光标定位

    M 移动光标到页面中央

    L移动光标到页面尾处

    H移动光标到页面开始处

    Ctrl+f向后翻页

    Ctrl+b向前翻页

    0移动光标到行首

    $移动光标到行尾

    /:从上往下开始查找

    ?:从下往上开始查找

    撤销和重复

    u复原前一个动作

    . 重复前一个动作

    复制 粘贴 删除

    nyy  复制光标所在的向下n行内容

    yw复制光标后的单词,以空格为分界

    p在光标处粘贴复制的内容

    ndd删除光标所在向下n行的内容

    ctrl + d:往下翻半屏内容

    ctrl + u:往上翻半屏内容

    shift + g:到文件末尾

    r:替换当前位置字符

    x:删除当前位置字符

    dd:删除整行

    set number:显示行号

    set nonu:取消显示行号

    :1,3y 复制第一行到第三行

    :1,3d 删除第一行到第三行

    :1,3s/str/str_new/g 替换第一行到第三行中的字符串

    :1,3s/str/str_new    替换第一行到第三行中的字符串第一个字符

    :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行

    搜索字符串

    输入/+要查找的字符串

    /test

    按n键重新查找下一个

    N查找上一个

    退出vi

    q 退出vi

    q! 不保存退出

    wq 保存退出

    e!不保存修改的文件

    w 保存

    !强制,后面加叹号的话表示强制

    29、rpm安装

       rpm –ivh 包名

       一次安装多个软件  rpm –ivh a.i386.rpm b.i386.rpm *.rpm

       直接由网络上某个档案安装  rpm –ivh http://website/path/a.i386.rpm

       查看安装软件  rpm –q 名 eg:rpm –q zip

       --nodeps 忽略依赖安装

       rpm -qa | grep jdk 检查是否安装了jdk

       rpm –e jdk 卸载

    如果卸载的时候提示有软件依赖它,卸载时需要加上 --nodeps

      eg: rpm -e glibc –nodeps

    rpm查询已安装的软件包

    rpm –qa >list.txt 把已经安装软件包都输出到list.txt这个文件中

           注:可以用前面介绍的grep命令查找

      rpm -qa:查询已安装的所有软件包

    rpm –q glibc:检察glibc包的版本

    示例:rpm -qa|grep httpd

    30、yum安装

        yum install 名

        -y系统自动给出yes响应

        yum 移除软件 yum remove 名

        yum 清理缓存   yum clean all

    yum info 名 eg:yum info zip 会列出软件是否安装、名称、版本、档案容量等信息(rpm –qi zip)

    eg:

    yum install httpd#安装Apache

    yum -y install httpd#如果有选项全部同意安装

    yum list|grep httpd#从yum列表中查找你需要的软件

    yum update httpd #yum升级Apache

    yum list installed |grep mysql#查询是否安装mysql

    yum remove mysql#卸载yum安装的mysql

    31、top查看内存使用情况(动态)

     

     

        q退出(动态的)

        按用户查看 top –u 用户名

        top -H查看线程,-H表示一行一个线程

          PID:进程的ID
      USER:进程所有者
      PR:进程的优先级别,越小越优先被执行
      NInice:值
      VIRT:进程占用的虚拟内存
      RES:进程占用的物理内存
      SHR:进程使用的共享内存
      S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
      %CPU:进程占用CPU的使用率
      %MEM:进程使用的物理内存和总内存的百分比
      TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
      COMMAND:进程启动命令名称

    32、ps 查看进程(某个时间点,静态的)

    ps:显示瞬间进程 (process) 的动态,使用权限是所有使用者。

    主要参数: ps的参数非常多, 此出仅列出几个常用的参数

    -A或-e:列出所有的进程。

    -l:显示长列表。

    -m:显示内存信息。

    -w:显示加宽可以显示较多的信息。

    -f:显示不同进程之间的关系。

    a:显示终端上的所有进程,包括其它用户的进程。

    -au:显示较详细的信息。

    -aux:显示所有包含其它使用者的进程。

    常用的参数是-aux和-ef

    可以用管道符连接其他命令使用

    eg:ps -ef |grep httpd #查询Apache相关进

     

          查看某个进程情况  ps –ef|grep java

          ps xH查看所有存在的线程

          ps-mp pid查看一个进程起的线程数

    33、Free观察内存使用情况

     

    34、netstat –anp|grep  ‘80’ 查看80端口占用情况   netstat -nlpt|grep 80

           netstat –anp | grep mysql 查看程序端口

    35、lsof –i:3306  查看端口占用情况

    lsof:列出当前系统打开文件的工具

    用法:lsof [options] filename

    常用参数:

    lsof filename 显示打开指定文件的所有进程

    lsof -c string 显示COMMAND列中包含指定字符的进程所有打 开的文件

    lsof -u username 显示所属user进程打开的文件

    lsof +d DIR/ 显示目录下被进程打开的文件

    lsof +D DIR/ 上,但是会搜索目录下的所有目录,时间相对较长

    lsof -i :80 查询指定端口打开的文件

    Lsof -p pid 查询指定的pid打开的文件

    lsof输出说明

    COMMAND:进程的名称

    PID:进程标识符

    USER:进程所有者

    FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、 txt等

    TYPE:文件类 型,如DIR、REG等

    DEVICE:指定磁盘的名称

    SIZE:文件的大小

    NODE:索引节点(文件在磁盘上的标识)

    NAME:打开文件的确切名称

    36、系统服务相关命令 

    chkconfig:chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。

    常用参数:

    chkconfig --add test.sh #将test.sh作为一个系统服务,但是test.sh这个脚本必须放在/etc/rc.d/init.d目录下(还有文章,看注释)

    chkconfig --del test.sh #删除一个系统服务

    service test.sh start #运行刚才设置的系统服务

    chkconfig test.sh on 开机启动

    chkconfig test.sh off 取消开机启动

    一些常见的系统服务:

    iptbles #防火墙

    network #网络

    httpd #Apache

    nginx #nginx

    除了刚才那种把做成系统服务,然后做成开机启动,还有一种就是在/etc/rc.d/rc.local文件中加入要开机执行的脚本

    例如要开机启动lampp,在/etc/rc.d/rc.local文件中加入/opt/lampp/lampp start即可

    临时关闭防火墙 service iptables stop,重启后会失效

    date命令,显示当前系统时间,后面可以跟日期格式

    cal查看日历,后面可以跟年份查看指定年份的日历

    whoami查看当前登录用户

    who查看当前有多少用户在使用系统

    eg: chkconfig --list 查看所有系统服务
          chkconfig iptables off 开机不启动该服务
          chkconfig iptables on 开机不启动该服务
          service httpd stop 停止该系统服务
          service iptables start 启动该服务
          service iptables restart 重启启该服务

     

    37、重定向 > 查出来的内容复制到文件中

    例如 rpm –qa > test.txt 把查出来的内容写到文件test.txt中,这种情况如果test.txt中有内容就会被覆盖,如果不想覆盖 可用两个> 例如rpm –qa >> test.txt

     重定向还可用于复制文件,test.txt >> test01.txt text.txt中的内容加在text01.txt原有内容后面

    38、date +'%Y%m%d %H:%M:%S'获取系统当前时间

    39、su 切换身份

    用法: su root 或者 su - root

    这两者的区别是su root不会重新加载切换用户的用户变量,su - root会重新加载用户的用户变量

    40、sudo获取超级用户权限执行

    有一些命令是普通用户没有权限操作的,所以要用sudo来获取超级用户权限。

    如果普通用户要使用sudo命令,需要在/etc/sudoers文件中配置才可以使用,例如要besttest用户可以使用sudo获取root用户权限,使用root用户编辑/etc/sudoers文件,找到 root ALL=(ALL) ALL 这一行,在它下面加入bestest ALL=(ALL) NOPASSWD:ALL然后保存即可。NOPASSWD代表该用户使用sudo的时候不用输入密码

    41、后台运行jmeter  : nohup jmeter-server & 

    42、上传下载rzsz

    sz:将选定的文件发送到本地机器

    rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到linux服务器

     

    检查是否安装了rzsz,命令:rpm –qa | grep lrzsz

     

    如果没有安装执行下面语句安装

    yum install –y lrzsz

     

    使用:

    sz filename

    把文件test.sql传到本地  sz test.sql

    用rz命令以后,会弹出对话框让选择要上传的文件

    43、注销

    exit用于字符界面,图形界面只退出终端窗口

    logout 文本终端

    44、重启

    reboot

    -w:不实际关机,用户登录信息写入/var/log/wtmp

    -d:不将用户登录信息写入/var/log/wtmp

    -f:强制重启

    reboot 可以不接参数

    shutdown

    shutdown -r 延时分钟数 “提示信息”

    shutdown -r now(now表示立即执行)

    不能单独用,至少2个参数

    45、关机

    halt

    -w:不实际关机,用户登录信息写入/var/log/wtmp  -d:不将用户信息写入/var/log/wtmp

    -f:强制关机

    -p:关机后,关闭电源
    可以不接参数

    poweroff

    除了无-p参数,其他与halt同

    init 0

    shutdown

    shutdown -h 延时分钟数 “提示信息”

    shutdown -h now(now表示立即执行)

    不能单独用,至少2个参数

    46、添加用户useradd

    useradd -d 家目录 -g 组名 -G 组集合(逗号间隔) -p 密码 -s 用户shell程序 用户名

    useradd -d /usr/local/nginx/ -g nginx -G nginx,oracle -p123456 -s /bin/bash test4

    若没有使用-p,可以使用命令加密:passwd 用户名

    passwd test4

    可以不加参数直接useradd test5,添加一个用户,默认使用bash shell,家目录在/home/下

    47、修改用户 usermod

    usermod -l 新用户名 -d 新家目录 旧用户名

    usermod –l tom –d /usr/local/tomcat test4

    家目录要存在,且为绝对路径

    Usermod中同样可以使用useradd参数

    48、删除用户userdel

    userdel -r 用户名

    userdel –r test3

    -r用于删除家目录及其所有文件

    49、增加组groupadd

    groupadd -g 组ID -r 组名

    Groupadd –g 451 –r besttest

    -r:建立系统组,组ID小于499

    新组ID在500-60000之间,小于500的为系统组

    所有参数均可省(除了组名)

    goroupadd dba

    50、修改组groupmod

    groupmod -g 组新id -n 组新名 组旧名

    groupmod -g 561 -n testtest test

    51、删除组groupdel

    groupdel 组名

    groupdel test

    52、查看ip地址ifconfig

    53、重启、启动、停止网络命令 service network restart/start/stop

    54、查看历史命令history

    55、清屏clear

    56、显示文件匹配的行grep命令

    grep:显示文件中的匹配行

    用法:grep [参数] 字符串 文件名

    主要参数:

    无参:显示匹配行

    -c:显示匹配行数

    -e 字符串:匹配特殊字符串,如-开头

    -i:忽略大小写

    -v:输出不匹配行

    -w:匹配指定字符串

    可以和别的命令通过"|"管道符连接使用

    eg:grep -c “foo” a.txt

    ps -ef|grep httpd |grep -v "grep"

    57、kill终止进程

    kill:用来终止指定的进程

    命令格式:kill [参数][进程号]

    主要参数:

    -l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

    -p  指定kill 命令只打印相关进程的进程号,而不发送任何信号

    -s  指定发送信号

    -u  指定用户

    -9 强制终止进程

    可以不加任何参数直接使用

    可以后面跟多个pid

    eg:kill -9 2321

    kill -9 2312 2819

    kill 8321            

    58、设置环境变量

    Linux中系统变量是在/etc/profile目录下的,用户的环境变量则在用户的家目录下的.bash_profile文件中,系统环境变量会在开机的时候全部加载,用户的环境变量之后在用户登录时加载

    比如说没有mysql命令,我们的mysql客户端是在/opt/lammp/bin目录下,那就可以把/opt/lammp/bin加入到/etc/profile就可以使用mysql命令了 export LAMPP=/opt/lampp/bin,然后再source /etc/profile 重新加载一下就可以生效了

  • 相关阅读:
    ant design拖拽手柄列拖动时样式错乱的解决方案
    ant design pro columns属性valueEnum下拉框按顺序显示
    blob转换为file上传(七牛云等)
    最新前端面试题收集(一)
    node 服务端分层模型小结
    将博客搬至CSDN
    Koa 连接mysql数据,mysql数据库表初始化脚本
    Koa 数据库连接和查询分离, CommonJS 模块遇到的一个坑
    koa session 存储方案
    koa-router 入门与使用
  • 原文地址:https://www.cnblogs.com/paopaoquan/p/6053774.html
Copyright © 2011-2022 走看看