美文网首页
03-Linux常用命令[Python]

03-Linux常用命令[Python]

作者: EndEvent | 来源:发表于2018-08-28 18:17 被阅读603次

    一、常用命令补充

    • gedit文本编辑工具

      $ gedit hello.c
      
    • ln建立链接文件
      建立链接文件相当于windows上创建一个快捷方式。

      软链接:不占用磁盘空间的,源文件删除则软连接失效【-s】
      硬链接:可以占用磁盘空间,源文件删除对硬链接没有影响
      
      $ ln -s hello.txt hello
      $ ls
         lrwxrwxrwx  1 atom atom    5 6月  27 15:21 hello -> hello.txt  
      $ cat hello  // 和cat hello.txt 一样
      
      $ ln hello.txt hello  
      

      对于软连接而言,如果软连接和源文件不在同一个目录下,则原文件使用绝对路径,不能使用相对路径
      对于硬链接而言,两个文件占用相同大小的磁盘空间,如果源文件被删除,硬链接不受任何影响,正常使用

    • ls文件查看

      例如:
        $ ls -l  // 查看文件信息
      简写:
        $ ll
      
    • rm删除操作

      语法:
        $ rm -rfi   // -r追层删除  -f强制删除  -i用户交互删除,询问是否删除
      
    • chmod权限添加

      u(user): 当前用户
      a(all): 所有用户
      g(group):同组用户
      o(other): 其他用户
      
      例如: 
        $ chmod g+w hello.c    // 给文件中同组用户添加一个可读权限  
        $ chmod go+w file2.txt 
        $ chmod ugo+w file2.txt
      
    • ssh通道
      SSH 为 Secure Shel的缩写,SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

      语法:
        ssh 用户名@IP地址
      例如:
        $ ssh zhangsan@192.168.1.133
      备注:
        连接服务器可以借助xShell、putty等工具,也可以通过ssh方式。
      
    • date查看系统时间

      $ date  // 查看系统时间
      $ date -s "2018-01-01 00:00:00"  // 修改系统时间
      
    • cal显示一个日历

      $ cal
      
    • 查看系统信息

      $ cat /etc/issue    // 查看系统版本
      $ file /sbin/init      // 查看系统位数
      
    • history查看历史命令

      $ history  // 终端输入的历史命令,最近1000条记录
      $ history 5  // 显示最后5条记录
      
    • tree以树形结构去显示目录结构

      $ tree -d     // 只显示文件夹
      $ tree -f // 显示文件的完整路径
      $ tree -L 2   // 只看前两级的内容
      

      需要安装tree: sudo apt-get install tree

    • ps查看进程

      语法:
        ps -ef 
      例如:
        $ ps -ef
        $ ps -ef | grep mysql  // 查看MySQL进程是否起来
      备注:
        UID    // 用户名 
        PID    // 进程的ID 
        PPID   // 父进程ID 
        C      // 进程占用CPU的百分比 
        STIME  // 进程启动到现在的时间 
        TTY    // 该进程在那个终端上运行,若与终端无关,则显示?
        CMD    //命令的名称和参数
      
    • pkill进程管理

      语法:
        pkill 服务名
        kill 进程号
        kill -9 进程号 // 强制杀死进程
      例如:
        $ pkill 服务名  // 杀死对应服务名的所有进程
      
    • df磁盘空间

        $ df   // 磁盘空间大小
        $ df   -hl  // 磁盘空间大小
      
    • free内存占用

        $ free
      
    • who用户登录信息

        $ who
      
    • which查找其他命令所在的位置

      $ which python
      $ which ls
      
    • whereis用于程序名的搜索

      $ whereis python
      
    • type寻找命令所在的位置,包括命令别名

      $ type python
      
    • 查看网络状态信息

      $ netstat -anp  
      $ netstat -anp | grep 3333  // 查看端口被哪个服务占用
      
    • 系统相关

      $ reboot  // 重启系统
      $ shutdown   // 关闭系统
      $ init 0  // 关机
      $ init 6  // 重启
      
    • zip打包解包

      打包语法:
        zip -r xxx.zip  文件1 文件2...
      例如:
        $ zip -r source.zip a.txt b.txt  // 将多个文件打包
        $ zip -r source.zip .   // 将当前路径下文件打包
        $ zip -r source.zip Test/  // 将Test目录打包
      
      解包语法:
        unzip xxx.zip
        unzip 包名 -d 目录  // 解压zip包到指定目录
      例如: 
         unzip source.zip
         unzip source.zip -d aaa/
      
    • gzip压缩解压

      压缩语法:
        gzip  需要打包的文件  // 把文件进行压缩,原来的文件则没有了,解  压缩也一样 
      例如:
        $ gzip test.txt     //  test.txt.gz
        $ gzip test.zip    // test.zip.gz
        $ gzip 
      
      解压语法:
        gunzip xxx.gz
      例如:  
        $ gunzip 01-test.c.gz
      
      备注: 
        只能压缩文件,不能压缩目录
      
    • tar压缩解压

      打包语法:
        tar -cvf xxx.tar 文件1 文件2...
      例如:
        $ tar -cvf source.tar a.txt b.txt
      
      解包语法:
        tar -xvf 包名
        tar -xvf 包名 -C 目录   // 指定目录
      例如:
        $ tar -xvf source.tar
      
      打包并压缩语法:
        tar -zcvf xxx.tar.gz 文件1 文件2...    // 打包并压缩
      例如:
        $ tar -zcvf source.tar.gz a.txt b.txt
      
      解压语法:
        tar -zxvf xxx.tar.gz
        tar -zxvf 包名 -C 目录   // 指定目录
      例如:
        tar -zxvf source.tar.gz
      
      备注打包:
        -c 产生.tar打包文件,在使用tar打包目录的时候,-c是必要的选项,表示create创建一个打包文件
        -v 显示详细信息,可选项,是在命令执行的时候,显示命令执行的过程
        -f 指定压缩后的文件名,必选项,该选项必须放在所有选项的后面,后面跟住新的文件名
        -z 打包同时压缩
      备注解包: 
        -x 解包.tar文件
        -v 显示详细信息
        -f 指定解压文件
        -z 解压缩
      
    • 创建用户

      语法:
        useradd 用户名
        // 默认是不会创建对应用户目录
        -m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下 
        -s 用户登录所使用的shell  
      例如:
        $ useradd zhangsan  // 需要手动设置密码 passwd zhangsan
        $ useradd -m lisi  // 默认无密码
        $ useradd -m -s /bin/bash wangwu  // 默认用户的密码
      
        
      建议使用adduser命令:
        $ sudo adduser
      

      /etc/skel是配置文件, bash是GNU操作系统的shell,或命令语言解释器
      按下ctrl+ d 注销用户【exit命令】!
      查看用户 cat /etc/passwd

    • 删除用户

      语法:
        userdel 用户名  
        // 默认只是删除普通用户,不会自动删除用户所在的主目录,需要手动 rm -rf xxx
        -r 删除普通用户,同时自动删除用户所在的主目录
      例如:
        $ userdel zhangsan
        $ userdel -r lisi
      备注:
        如果提示`userdel: user zhangsan is currently logged in`,就强制删除`userdel -r -f  zhangsan`
      
    • 修改用户密码

      语法:
        passwd 用户名
      例如:
        $ passwd zhangsan    // 输入两次密码
      
    • 查看所属

      语法:  
        groups 用户名
      例如:
        $groups zhangsan
      
    • 创建用户组

      语法:
        groupadd 组名
      例如:
        $ groupadd cxy
      

      查看组 cat /etc/group

    • 删除用户组

      语法:
        groupdel 组名
      例如:
        $ groupdel cxy
      
    • 添加到组

      语法:
        gpasswd -a 用户名 组名
      例如:
        $ gpasswd -a zhangsan cxy
      
    • 从组中删除

      语法:
        gpasswd -d 用户名 组名
      例如:
        $ gpasswd -d zhangsan cxy
      
    • 修改文件所属者所属组

      语法:
        chown -R 用户名:组名 文件名
      例如:
        chown -R atom:atom lisi/
      

      cat /etc/group文件包含所有组
      cat /etc/shadow和cat /etc/passwd系统存在的所有用户名

    • 文件传输

      语法:
        scp 用户名@远程服务器的IP:/文件路径  想要存放的路径
      

      Windows与Linux中,文件传输可以使用xftp;
      Linux与Linux之间,可以使用scp;
      其他方式: GitHub;

    二、Linux其他

    • 磁盘分区
      在Windows操作系统中,是先将物理地址分开,再在分区上建立目录.在Windows操作系统中,所有路径都是从盘符开始,如C://program file。
      Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。
      无论是Windows操作系统,还是Linux操作系统,每个分区均可以有不同的文件系统,如FAT32、NTFS、Yaffs2等。

    boot分区: 该分区对应于/boot目录,存放Linux的bootloader和内核源码,用户对/boot目录的操作就是操作该分区;
    swap分区: Linux下的虚拟内存.虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,然后再将数据调入到内存中执行.所以说,虚拟内存只是暂时存放数据,在该空间内并没有执行(大小为物理内存的2倍);
    根分区: 在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区.因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区;
    备注: 在创建Linux分区时,一定要创建SWAP/根分区!

    • 文件系统
      文件系统,即在存储设备上组织文件的方法;
      Windows: FAT16、FAT32、NTFS
      Linux: EXT2、EXT3、VFAT

    相关文章

      网友评论

          本文标题:03-Linux常用命令[Python]

          本文链接:https://www.haomeiwen.com/subject/kqngiftx.html