首页 > 代码库 > Linux 常用简单命令

Linux 常用简单命令

      安装VMware时切记保持更新,重新安装VMware tools,根据虚拟机下方的提示完成。在Ubantu系统中额外安装软件,软件格式是.deb,以sublime-text-3为例,直接从Windows中复制粘贴到/opt中,在终端中输入sudo dpkg -i /opt/sublime-text-3.deb,即可。(终端在应用市场中找,当sublime安装成功后,在终端输入subl打开)

      今日要求:了解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地址(网址)

 

Linux 常用简单命令