zoukankan      html  css  js  c++  java
  • Linux 常用简单命令

          今日要求:了解linux和相关文件、系统的命令。

    一、 Linux

          Linux、winsows、mac、android、ios是目前所了解到的操作系统,它们作为设备和应用程序的连接纽带。Linux和Windows一样,只是目前市场中个人桌面这块Windows大家接触的多;但在服务器方面,Linux则比较突出,它具有免费、高效、稳定等特点。而且在嵌入式领域的应用十分广泛。

    二、 命令

    2.1 文件和目录

         家目录为 /home/user 或者 ~

         目录分为两种:

               绝对目录,从根目录开始写

               相对目录:相对当前所在的位置开始写

    2.1.1 命令的格式

          command [-options] [parameter1][parameter2]...

                command:命令名,相当于do;

                options:选项,相当于how,对命令进行规范,有时几个可以同时使用,大多数情况下不分先后顺序(目前已知打包-f必须放在最后);有时也可省略。

                parameter:命令的对象。

           notes:查看命令的位置:which command

                 自动补全命令按Tab键

                 上下方向键可以快速切换之前输入的命令,输入history直接看到所有输入的命令(history | more分屏,q键退出)

                 退出一般按q键,无效的情况按Ctrl+C键,Ctrl+Z是将进程暂时挂起,fg再次运行,bg后台运行。

    2.1.2 命令的帮助

          在使用命令的时候出现问题,可用下面两种方法采取帮助。(以ls为例)

    •    --help:ls --help
    •    man:man 1 ls

           man手册分为8类,第一类是标准命令,如不输入类别则是按1-8的顺序搜索。

           b键上一页,空格下一页,h键手册指南,q键退出。(man ls | more分屏显示ls --help | more)

    2.2 文件管理命令

    2.2.1 切换工作目录 cd

          目录分为两种:从/根目录开始的绝对目录和从./当前目录开始的相对目录 

                cd ~直接切换到家目录/home/user/

                cd .(cd ./)目录不变

                cd ..(cd ../)切换到上一层mulu

                cd -切换到上一层目录所在位置

                cd 后可直接跟绝对目录和相对目录

          显示当前路径 pwd;清屏clear(快捷键Ctrl+L)

    2.2.2 查看当前目录下的文件目录    ls

          ls -a  也显示当前目录下的隐藏文件

          ls -l   以列表的形式显示,显示文件的详细信息(包括权限、硬链接数、最后一次修改时间、文件名等)。

          ls -lh 以列表的形式显示,额外显示文件的大小(-h不单独使用)

          通配符:*可以代替多个字符,?代表任意一个字符,转义字符使得*、?失效,当*、?放在[]内时失效,-放在[]外时也失效。

                查看以a开头的文件名:ls a*

                查看.py结尾的文件名:ls *.py

                查看名为*a.py的文件名:ls *a.py

                此外还有:ls a?.py;ls a[abcd].py;ls a[a-z].py

    2.2.3 重定向指令

         ls 和 cat 均可,>先清除文件中的内容,再重新输入。>>不清除,在文件内容末尾处直接添加『cat [文件名],表示查看该文件内容』

         ls a.py > b.py(cat a.py > b.py)或者ls a.py >> b.py(cat a.py >> b.py)

         关于ls和cat重定向的区别:在ls重定向的新文件内容是文件名;cat重定向的新文档内容是文件内容。

    2.2.4 管道与分屏显示

         |:管道,用|将命令隔开,一次可以输入n个命令(同时创建删除文件可行,再切换目录这一步失效)。

         more:分屏显示,一般与|合用。(也可more 文件名)

    2.2.5 创建目录和删除目录

          创建目录:

                创建一级目录,直接输入mkdir 文件夹名

                创建多级目录,添加选项-p,如:mkdi -p 文件夹名/文件夹名/文件夹名/.... (-p位于文件夹名前后都可以)

          删除目录:

                rmdir 文件夹名(必须为空文件夹)

    2.2.6 拷贝文件 cp 和移动文件 mv

          拷贝文件: sudo  cp [-options]  原文件所在目录及文件名 拷贝文件目录及其文件名(在同一目录下则不用sudo 和写文件名,当前路径就是文件所在路径也可省略)

                选项:-a 拷贝时文件属性不变

                         -v 拷贝进度

                         -r 拷贝文件夹

                         -f 拷贝时不再提醒文件名重复等

           移动文件:sudo  mv [-options]  原文件所在目录及文件名 拷贝文件目录及其文件名(在同一目录下则不用sudo 和写文件名,当前路径就是文件所在路径也可省略) 

                 选项:-f 移动时不提醒

                          -i 提醒

                          -v 显示移动进度  

                 Notes:mv 文件名1 文件名2 对文件1进行重命名为文件名2    

    2.2.7 创建和删除文件

          创建:

                  touch:创建文件,例如:touch txet.py

                  gedit:新建编辑保存文件,例如:gedit text.py

          删除:rm :删除文件,例如:rm a.py ;

                  -i: 挨个删除,一一确认;(yes或y)

                  -r:对于文件夹必须添加-r选项;

                  -f:删除不存在的文件,无需提示。

    2.2.8 建立链接文件:ln

          ln软链接文件类似于Windows的快捷方式;硬链接类似于复制粘贴,且只能链接文件。

          跨目录的话建议用:sudo ln [-s] /原文件的位置/  /链接的位置/

    2.2.9 查找文件 find        find  / 所要查找的目录/  [-options]  '字符串‘

          find /所要查找的目录/ -name 文件名

          find /所要查找的目录/ -name  ‘*.py'

          find /所要查找的目录/ -name "[a-z]*"    (文件名这块用双括号和单括号没有区别)

          find /所要查找的目录/ -size +4k -size -2M

          find /所要查找的目录/ -perm 777(或者0777,几个零无所谓)

    2.2.10 文本搜索 grep          grep [-options]  ‘字符串’

          选项:-v 除输入的字符串以外的行

                  -n 显示行数

                  -i 搜索不区分大小写

          通配符:

                  grep -n '^a' 文件名 在文件中搜索以a开头的行

                  grep -n '.py$' 文件名 在文件中搜索.py结尾的行

                  grep -n [lL]ik[Ee] 文件名 在文件中搜索like、Like、likE、Like所在的行

                  grep -n 'e.e' 文件名 (.代表任一一个字符)在文件中搜索三个字符的字符串所在的行,该字符串中间字符任意

     2.2.11 归档打包tar  tar [-options] 打包名.tar 被打包文件名1 被打包文件名2...(-f 不能省)

          选项:-c 打包

                  -x 拆包

                  -v 显示进度

                  -f 指定打包的文件名称,必须放在选项最后一个,后跟打包名.tar

                  -t 列出打包件中的东西 (tar -tf 打包名.tar)

    2.2.12 文件压缩解压

    • tar -z (-j)压缩命令:压缩包名可为:名tar.gz;也可是名tar.gz2,或者是名.tar.bz,或者是名.tar.bz2

                   压缩:tar -cvzf 压缩包名 被压缩包名1 被压缩包名2...

                   解压:tar -xvzf 压缩包名(解压到指定目录,在压缩包名后添加 -C /目录/)

    • gzip压缩命令:   

                   压缩: gzip [-r] 压缩包名.tar

                   解压: gzip -d   压缩包名.tar.gz

    • zip/unzip 

                   压缩:zip [-r] 压缩包名(.zip)  被压缩包名1 被压缩包名2...

                   解压:unzip -d 解压后的目录 压缩包名.zip

    2.3 Linux 命令-用户、权限管理

          用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。在大多数版本的Unix/Linux中,都不推荐直接使用root账号登录系统。

          exit      : 退出终端(打开用Ctrl+Alt+T)

          whoami: 查看当前用户的身份(查看系统用户信息:cat /etc/passwd)

          who     : 查看当前所有登录系统的用户信息

                        选项: 

                                -q (--count) 只显示登录的用户名和用户的数量                                

                                -u 显示用户最后一次操作到现在的时间间隔             

                                --heading 显示列标题

          切换用户:su

                        sudo su [-] 用户(用户无则表示切换至root用户)

                        - :表示切换用户后,目录也切换至新用户主目录

                        无-:则仅仅是切换用户,目录不变

                       注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。sudo是                                 ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。

          添加、删除用户组账号groupadd、groupdel (查看系统用户组: cat /etc/group)

                      添加:sudo groupadd 组账号

                      删除:sudo groupdel  组账号

          修改用户所在组 usermod

                usermod -g 组账号 用户名

          添加用户账号:useradd usersdd [-选项] 用户账号          

                选项:-g 指定组名称

                         -m 自动建立目录

                         -d 主动建立主目录,否则在家目录中自动建立与用户名同名的主目录

                 Notes: Linux 个用户必须有主目录,一般都在/home目录中,用户的主目录和用户名一般一样。

           删除用户账号:userdel 

                 userdel [-r] 用户名

                       -r表示是否删除该用户的同时是否删除其主目录

          设置用户密码:passwd    passwd 用户名

          修改文件权限:chmod

    •     第一种:字母法    chmod u/g/o/a +/-/=  rwx 文件名

                                        u:user,用户;g:group,用户所在用户组;o:others,其他用户组;a:all,所有用户。

                                        +:增添权限;-:去除权限,=:重新赋予权限。

                                        r:read,具有浏览的权限,如:浏览该目录的内容;w:write,具有编辑的权限,如:创建新文件;x:execute,具有运行的权限,如:切换到该                                 目录的权限。

    •      第二种:数字法    chmod 777  文件名

                                         r=4,w=2,x=1,-=0,rwx所在位置权限对应数字相加。如:rwxrw-r--对应数字为764;rwx------对应数字为700.   

                  注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限(-R位置可前可后)

          修改文件所有者:chown     chown 用户名  文件

          修改文件所属组:chgrp      chgrp  用户组  文件

    2.4 系统管理

          cal  :查看日历    -y 查看整年的日历

          date:显示时间

                   设置时间格式:sudo date MMhhmmccyy.ss(MM月份,hh小时,mm分钟,cc年前两位,yy年后两位,ss秒)

          ps   :查看进程信息   ps [-]options

                        选项:-a 显示终端上的所有进程

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

                                -r 显示正在运行的进程

                                -u 显示进程的详细信息

           kill :结束进程 kill [-signal] PID  (PID 通过ps查看;信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。)

           top : 动态显示进程  -d   指定时间间隔,单位:s

                        M键:按内存占有率排序

                        P键:按cpu占有率排序

                        T键:按运行时间排序

                        U键:输入用户名筛选进程,Enter;退出:Ctrl+C

                        K键:输入PID来结束进程,Enter,退出:Ctrl+C

                        H键:帮助

                        Q键:退出

          reboot:重新启动(等同于 init 6)

          shutdown -r now :重启,并通知其它用户

          shutdown -h now:关机(等同于 init 0)

          shutdown -h time :在time时刻关机

          shutdown -h +time:time时间后自动关机

          df :检查文件系统的磁盘占用和空余情况(df :只显示非空的情况)

                 选项:-T:显示文件系统的类型

                         -t 文件系统 :显示指定文件系统的磁盘占用和空余情况

                         -m: 以1024字节为单位显示

                         -a :显示所有文件系统的磁盘使用情况

          du:统计目录或文件占磁盘空间的大小

                选项:-a  目录:递归显示指定目录中各文件和各子目录中文件占磁盘空间的大小

                        -s  目录:显示指定文件或目录占磁盘的大小(-a 详细描述,-s只统计整体的大小)

                        -b:以字节为单位显示占磁盘的大小情况

                        -l : 计算所有文件大小,包括硬链接

          网卡信息:查看网卡信息:ifconfig

                更改ip:sudo ifconfig 网卡代码 新ip(网卡代码:ens33、eth0等)

          测试远程主机连通性:ping (一直跑的情形说明已连接)

                ping ip地址(网址)

  • 相关阅读:
    包含中文的js文件在从cdn搞到本地时造成的问题;
    查询杀死进程
    二维码显示在网页上
    二维码生成器和解析器-java
    N个任务,分配给M个人,那么每个人得到的任务数量----总结经验
    js中文转换成拼音
    Grails连接mysql数据库
    Grails框架+Intellij IDEA工具,写了一个对字符串进行转码,包括纯js转成Base64格式
    java冒泡排序
    对文字简单的加密解密
  • 原文地址:https://www.cnblogs.com/zhaochaofan/p/6123790.html
Copyright © 2011-2022 走看看