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

    一、linux系统的文件目录结构

    linux系统下,我们看到的是文件夹,没有盘符的概念,只有一个根目录/,所有文件都在它下面

    三、linux命令格式

    command [-options] [parameter]

    说明:

    command:命令名,相应功能的英文单词或单词的缩写

    [-options]:选项,可用来对命令进行控制,也可以省略

    [paremeter]:传给命令的参数,可以是零个、一个或多个

    二、linux常用命令

    1、man

    man command

    查阅command命令的使用手册,包含了绝大部分的命令、函数的详细使用说明

    使用时,可用空格键显示手册页的下一屏、Enter键一次滚动手册页的一行、b回滚一屏、f前滚一屏、q退出

    另外:command --help可以显示command命令的帮助信息

    2、ls

    ls [-options] [file]

    列出目录内容

    ls常用选项:

    -a  显示指定目录下所有子目录与文件,包括隐藏文件(隐藏文件即.开头文件,需要用-a参数才能显示)

    -l  以列表方式显示文件的详细信息

    -h  配合-l以人性化的方式显示文件大小,文件大小单位有B、K、M、G、T、P

    ls  #列出当前文件夹下的所有文档

    ls -l  #等同于ll,按列表列出当前文件夹的所有文档的详细信息

    ls -al  #列出当前文件夹的所有文档的详细信息,包括隐藏文档和父目录

    ls -lt:列出当前文件夹下所有文档的详细资料,按修改时间倒序排列

    ls /home/qq:列出某个目录下的所有文档

    ls -l 可以查看文件夹下的文件的详细信息,从左到右依次是:

    权限,第1个字符如果是d表示目录,如果是-表示文件

    硬链接数,通俗的讲,就是有多少种方式,访问到当前目录/文件

    拥有者

    大小

    时间

    名称

    通配符的使用

    通配符,匹配一个或一个以上任意字符

    *  代表任意个数的字符

    ?代表任意一个字符,至少1个

    []  表示可以匹配字符组中的任意一个

    [abc] 匹配a、b、c中的任意一个

    [a-f]  匹配从a到f范围内的任意一个字符

    3、cd

    cd [dir]

    切换目录,为英文单词change directary的简写

    cd  切换到当前用户的主目录(/home/用户目录)

    cd~  切换到当前用户的主目录(/home/用户目录)

    cd.  保持在当前位置不变

    cd..  切换到上级目录

    cd-  在最近两次工作目录之间来回切换

    cd /  进入根目录

    相对路径和绝对路径:

    相对路径  在输入路径时,最前面不是 /或者-,表示相对 当前目录 所在的目录位置

    绝对路径  在输入路径时,最前面是 /或者-,表示从 根目录/家目录 开始的具体目录位置

    4、pwd

    显示当前或者工作路径

    5. touch

    创建文件或修改文件时间,如果文件不存在,可以创建一个空白文件;如果文件已存在,可以修改文件的末次修改日期

    6.mkdir

    mkdir [-p] dir

    创建一个新的目录

    -p  递归创建目录

    新建目录名称 不能与当前目录中 已有的目录或文件 同名

    7、rm

    删除文件或目录

    -f  强制删除,忽略不存在的文件,不提示

    -r  递归地删除目录下的内容,删除文件夹时必须添加此参数

    rm -r file #不提示删除某个文件

    rm -rf dir #不提示删除某个文件夹

    8、tree

    以树状图列出文件目录结构

    -d  只显示目录

    9、cp

    可将 文件或目录 复制到另一个 文件或目录中

    -f  已经存在目标文件直接覆盖,不提示

    -i  覆盖文件前提示

    -r 递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名

    cp file1 file2 #文件到文件

    cp file1 ../test1 #文件到目录

    cp -r test1 test2 #目录到目录,递归拷贝

    10、mv

    移动文件或目录,也可以给文件或目录重命名

    -i  覆盖文件前提示

    11、 cat

    cat用来查看文件内容、创建文件、文件合并、追加文件内容等功能

    cat会一次显示所有的内容,适合查看内容较少的文本文件

    -b:对非空行输出编号

    -n:对所有输出行编号

    12、tac

    倒序显示文件,相当于cat反过来

    13、more

    分屏显示文件内容,每次只显示一页内容

    空格键  显示文件的下一屏

    Enter  显示文件的下一行

    b  回滚一屏

    f  前滚一屏

    /word  搜索word字符串

    14、less

    less命令与more命令类似,less可以按空格键向下显示文件,还可以利用上下键卷动文件

    15、head

    显示文件头部

    head file #默认显示前10行

    head -5 file #显示前5行

    16、tail

    显示文件尾部

    tail file #默认显示最后10行

    tail -5 file #显示后5行

    tail -f file #实时显示文件尾部

    17、sort

    文本排序命令

    sort -n file

    sort -r file

    sort -u file

    18、grep

    打印匹配的行,grep经常和管道配合使用

    grep 正则表达式 file

    grep 3 a.txt #显示a.txt中包含3的行

    grep 3 a.txt|wc -l #a.txt文件中包含3的行有多少行

    grep -n 3 a.txt #显示a.txt中包含3的行号和行

    grep -v 3 a.txt #显示a.txt中不包含3的行

    grep ^123 a.txt #显示a.txt中以123开头的行

    grep 123$ a.txt #显示a.txt中以123结尾的行

    grep -n aa *  #显示当前目录下所有包含aa的行号和行

    19、find

    在文件系统中查找文件

    find /path/to -name "test*"

    find /path/to -type f

    find /path/to -ctime -1

    find /path/to -cmin +1440

    可以在查找后,使用-exec执行后续操作

    find /path/to -ctime +30 -exec rm -rf {} #删除30天前的文件

     20、df

    显示磁盘空间使用情况

    df -h #到G自动显示,到M自动显示

    df -m #显示M

    df #相当于df -k

    21、du

    显示目录下的文件大小

    du -sh #当前目录所占用的磁盘空间

    du -sh * #当前目录下所有文件占用的空间

    du -sh * |sort -nr #显示前10个比较大的文件

    22、free

    查看内存使用情况

    free #K显示

    free -m #M显示

    free -g #G显示

    23、ps

    显示当前运行的进行

    ps aux #显示进程的详细状况

    a #显示终端上的所有进程,包括其他用户的进程

    u #显示进程的详细状态

    x #显示没有控制终端的进程

    ps默认只会显示当前用户通过终端启动的应用程序

    ps -ef

    14、kill

    kill pid #本身和子进程都杀掉

    kill -9 pid #只杀进程本身

    25、top

    显示当前系统正在执行的进程的相关信息,包括进程id、CPU占用率、内存占用率

    第一列,任务队列信息

        系统时间、系统已运行时间、3个用户登录系统、load avarge后面的3个数,分别为1分钟、3分钟、5分钟的负载情况

    第二列,Tash -任务(进程)

        总进程、运行进程、休眠进程等进程数

    第三列,cpu状态

        us #用户占用CPU率

        sy #系统占用CPU率

        id #空闲CPU率

        wa #CPU等待IO所用的时间,20%系统会很慢,30%可能没法操作了

    第四行,内存状态

       total  #物理内存总量

       free  #空闲内存总量

       used #已使用内存

       buff/cache #缓存

    第五行,交换分区状态

      交换分区的used如果在不断变化,说明内核在不断的进行内存和swap的交换,是真正的内存不够用了

    第七行,各任务(进程)的状态监控

      PID  #进程id

      USER #所有者

      PR #进程优先级

      NI  #nice值,负值表示高优先级,正值表示低优先级

      VIRT #进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES

      RES  #进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA

      SHR  #共享内存大小,单位kb

      S #进程状态,D-不可中断的睡眠状态,R-运行,S-睡眠,T-跟踪/停止,Z-僵尸进程

      %CPU #上次更新到现在的CPU时间占用百分比

      %MEM #进程使用的物理内存百分比

      TIME+ #进程使用的CPU时间总计,单位1/100秒

      COMMAND #进程名称(命令名/命令行)

      F、f、P、p用来增加或者减少显示项,以及显示顺序

    26、date

    修改系统时间

    27、reboot

    重启

    28、shutdown

    关机

    -r :重新启动

    shutdown -r now #重新启动操作系统,now表示现在

    shutdown now #立刻关机

    shutdown 20:25 #系统在今天的20:25会关机

    shutdown +10 #系统再过10分钟后关机

    shutdown -c #取消之前指定的关机计划

    shutdown -k now #通知所有终端,现在要关机,但是实际不关机

    shutdown -h now #通知所有终端,现在要关机,实际上确实关机了

    shutdown -k 5 #通知所有终端,5分钟后关机,但是实际不关机

    shutdown -h 5 #通知所有终端,5分钟后关机,实际上确实要关机了

    29、echo

    echo会在终端中显示参数指定的文字

    30、重定向>和>>

    linux允许将命令执行结果 重定向 到一个文件

    将本应该显示在终端的内容 输出/追加 到指定文件中

    >表示输出,会覆盖文件原有的内容

    >>表示追加,会将内容追加到已有文件的末尾

    echo hello > b

    31、管道|

    linux允许将一个命令的输出 通过管道 做为 另一个命令的输入

    常用的管道命令有:

    more:分屏显示内容

    grep:在命令执行结果的基础上查询指定的文本

    例如:

      (1)查找tomcat进程号:ps -ef|grep tomcat

      (2)关闭tomcat进程:kill -9 进程号

    32、which

    查看执行命令所在的位置

    which ls #输出 /bin/ls

    which useradd #输出 /usr/sbin/useradd

    bin和sbin

    在linux中,绝大多数可执行文件都是保存在/bin、/sbin、/usr/bin、/usr/sbin

    /bin是二进制执行文件目录,主要用于具体应用

    /sbin是系统管理员专用的二进制代码存放目录,主要用于系统管理

    /usr/bin是后期安装的一些软件

    /usr/sbin超级用户的一些管理程序

    cd命令是内置在系统内核中的,没有独立的文件,因此用which无法找到cd命令的位置

    33、切换用户

    su -用户名 #切换用户,并且切换目录

    exit #退出当前登录用户

    su 不接用户名,可以切换到root,但是不推荐使用,因为不安全

    34、修改文件权限

    chown 用户名 文件名|目录名 #修改文件|目录的拥有者

    chgrp -R 组名 文件名|目录名 #递归修改文件|目录的组

    chmod -R 755 文件名|目录名 #递归修改文件权限

    chmod在设置权限时,可以用三个数字分别对应 拥有者 /组 和其他 用户的权限

    chmod +/-rwx 文件名|目录名 #直接修改文件|目录 的读、写、执行权限

    chmod 755 file

    chmod -R 644 dir

    第一列(数字7)代表所属用户权限,第二列(数字5)代表所属用户组权限,第三列(数字5)代表其他用户组权限

    0-无权限(-),1-可执行(x),2可读(r),4-可写(w)

    35、超级用户

    Linux系统中的root账号通常用于系统的维护和管理,对操作系统的所有资源有访问权限

    在大多数版本的Linux系统中,都不建议直接使用root账号登录系统

    在Linux安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”

    sudo

    su 表示以另一个用户的身份

    sudo 命令用来以其他身份来执行命令,预设的身份是root

    用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码

    36、组管理 终端命令

    创建组/删除组的终端命令都需要通过sudo执行

    (1)groupadd 组名 #添加组

    (2)groupdel 组名 #删除组

    (3)cat /etc/group #确认组信息

    (4)chgrp 组名 文件/目录名 #修改文件/目录所在组

    组信息是保存在/etc/group文件中

    /etc 目录是专门用来保存 系统配置信息 的目录

    37、用户管理 终端命令

    创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行

    (1)useradd -m -g 组 新建用户名  #添加用户组,-m自动建立用户家目录 -g指定用户所在组,否则会建立一个和用户名同名的组

    (2)passwd 用户名 #设置用户密码,如果是普通用户,直接用passwd可以修改自己的账户密码

    (3)useradd -r 用户名 #删除用户 -r选项会自动删除用户家目录

    (4)cat /etc/passwd |grep 用户名 #确认用户信息,新建用户后,用户信息会保存在/etc/passwd文件中

    创建用户时,如果忘记添加-m选项指定新用户的家目录,最简单的方法是删除用户,重新创建

    创建用户时,默认会创建一个和用户名同名的组名

    用户信息保存在/etc/passwd文件中

  • 相关阅读:
    进程、线程、轻量级进程、协程与 go 的 goroutine
    Base: 一种 Acid 的替代方案
    单点登录 SSO(Single Sign-On)的实现原理
    大型网站之分布式会话管理
    PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手
    主流编程语言的 33 款开源爬虫
    docker基础命令
    mysql实现首字母从A-Z排序
    solr+zookeeper集群配置
    Lucene与Solr基础
  • 原文地址:https://www.cnblogs.com/testerlina/p/14165773.html
Copyright © 2011-2022 走看看