Linux常用命令二

 Linux常用命令二

    

1、用户和用户组   
    用户:使用操作系统的人
    用户组:具有相同权限的一组用户   
    /etc/passwd    存储用户登录信息
    /etc/group   存储用户组信息

    ​useradd           用户名                          添加一个用户
    userdel           用户名                          删除一个用户
    groupadd          用户组名                        添加一个用户组
    groupdel          用户组名                        删除一个用户组
    usermod   -l      新用户名   旧用户名              将用户重命名
    usermod -a -G     用户组名   用户名

​​
    su                用户名                          切换到某个用户     
    su                                                切换到root用户
    su   -            用户名   
        切换到某个用户,并执行该用户的个人环境变量,在进入该用户家目录(一般用这个居多)
    id                用户名                          显示该用户信息

    passwd            新密码                          修改当前用户    

​
2、权限(隐藏文件权限644)  ​
       -rwxrw-r--       r读4  w写2  x执行1

       第1位代表文件类型:-普通文件    d目录   l软链接文件
       第2-4位代表所有者(用u表示)的权限为读写执行
       第5-7位代表所属组(用g表示)的权限为读写
       第8-10位代表其他人(用o表示)的权限为读

        ​
       chmod     u+x,g-w   文件(夹)名    
            对文件所有者增加执行权限,对文件所属组剥夺写权限
       chmod     -R    777     文件(夹)名  
            对文件所有者所属组其他人赋予读写执行权限,如果该文件有子目录或子文件,则该权限也赋予子文件或子目录
       chown    用户名    文件(夹)名    修改文件所有者
       chown    用户名:用户组名    文件(夹)名     修改文件所有者和所属组

​
3、sudo命令:让普通用户有权限执行超级用户才能执行的命令 
​​
      root用户通过修改/etc/sudoers配置文件,格式如下:
             user1    ALL=(root)  NOPASSWD: /sbin/shutdown -r now
            允许用户user在任何主机上免密码切换成root用户执行/sbin/shutdown -r now命令

      sudo       可执行的sudo命令绝对路径      普通用户执行超级命令格式
      sudo    -l      查看可执行的所有sudo命令

​4、进程相关
       ​
       ps   -ef     查看所有进程
       kill   -9  pid号   杀死pid号对应进程
       kill   -9   $(pgrep  -f   txt)  杀死txt进程树
       pkill  -9  进程名  杀死该进程
       netstat   -nlp   查看系统服务及对应端口号、程序名


5、软件上传下载相关

yum安装:
     yum    -y    install       包名   安装某个包       -y 自动回答yes
     yum   -y     remove     包名   卸载某个包      -y 自动回答yes
     yum search http   搜索和http相关的包
     yum list | grep http   查看是否安装http相关的包

​
​
rpm包安装:
    rpm -ivh --nodeps   包全名   
        -i(install):安装
        -v(verbose):显示详细信息
        -h(hash):显示进度
        --nodeps:不检测依赖性
    rpm包卸载:
        rpm --nodeps -e 包全名  --nodeps不验证依赖关系
    rpm包查询:
        rpm -qa | grep jdk   
        rpm -ql
            参数:
                q:query 查询
                a:all 所有
                l:list 列表
        

​wget下载:
​    wget   下载链接    在对应链接上下载  

与windows交互   ​
    从windows上传至Linux:  rz
    从Linux下载到Windows: sz
    执行这两条命令前:
        yum -y install lrzsz

​
​
6、系统信息查看     
    ​
     df -h 查看文件系统挂载情况
     free -m 显示内存情况
     top   实时显示系统负载
     du -sh  [*]   统计当前目录[的子目录/子文件]大小
     du -a    ./   递归统计当前目录子目录及子文件大小

     ###清空系统缓存释放内存
        echo 3 > /proc/sys/vm/drop_caches
        或者
        free -h;find .>/dev/null;free -h
        或者
        find /mydata/backup/python/ -type f|xargs cat>/dev/null 2>&1

​

7、文件搜索
    ​find    /      -name     install.log    按名字在根目录下搜索install.log文件
    find    /var/log   -mtime     +10    按天数在/var/log目录下搜索10天前修改的文件
    find    /var/log   -mtime     -10    按天数在/var/log目录下搜索10天内修改的文件
    find   /etc   -size   +20k  -a  -size  -50k    按大小在/etc目录下搜索大于20k并且小于50k的文件
    find   /etc   -size   +20k  -o  -size  -50k    按大小在/etc目录下搜索大于20k或者小于50k的文件

​
8、windows与linux系统交互 ​
       从windows上传文件到linux上:rz
       从linux下载文件到windows上:sz
           以上两个命令的执行需要事先安装好lrzsz包
           在linux虚拟机可访问外网的情况下执行:yum -y install lrzsz即         可成功安装

​9、定时任务
    ​crontab  -l    查看当前运行的作业
    crontab  -e    以当前用户身份进入crontab 编辑页面,编辑定时任务规则如下:
    *  *  *  *  *  命令绝对路径
        第一个“*”代表一个小时中的第几分钟        范围0-59
        第二个“*”代表一天中的第几小时            范围0-23
        第三个“*”代表一个月中的第几天            范围1-31
        第四个“*”代表一年中的第几个月            范围1-12
        第五个“*”代表一个星期中的星期几          范围0-7(0和7都代表星期天)

    特殊符号:
        *    代表任何时间        第一个为“*”为*时代表每分钟都执行
        ,    代表不连续时间      0 8,12 * * * 命令   代表每天八点和12点整执行
        -    代表连续时间        0 8-12 * * * 命令   代表每天8点,9点,10点,11点,12点整执行
        */n  代表间隔时间        */10 * * * * 命令    代表间隔十分钟执行一次

        注意:如果要精确到秒,可以使用shell脚本嵌套sleep命令的形式满足需求

​10、后台命令
    ​命令 &            将命令放入后台执行(&会受shell脚本影响,有时候会失效)    
    nohup 命令    将命令放入后台执行
    通常用  nohup 命令 &  的形式将命令放入后台更稳当

     screen:

          screen   -S   建立一个后台会话 
          screen   -r   会话名称或id   进入一个后台会话(一个会话同时只能连接一个用户)
          screen   -list   查看存在的后台会话 
          处于后台会话时执行 ctrl+a+d 可退出后台会话      

 

11、系统运行级别
       0         关机
       1         单用户模式 相当于windows的安全模式,进入系统不用输入密码。
       2         不含NFS服务(用于linux间的文件共享)的命令行模式
       3         命令行模式,即字符界面
       4         系统保留级别
       5         图形界面
       6         重启

    系统的运行级别在/etc/initab文件中可以更改。

12、输出重定向
    ​命令 &>> 文件                       将命令输出无论正确还是错误统统追加到对应文件中
    命令 >> 文件  2>& 1                 将命令输出无论正确还是错误统统追加到对应文件中
                                       2>&左边无空格
    命令 >> 文件1  2>> 文件2            将命令正确输出追加到文件1中,错误输出追加到文件2中
                                       2>>左边无空格

    补充:
        0:标准输入
        1:标准输出
        2:错误输出
        >  追加
        >> 覆盖
    说明:
        &>>     将1、2追加到哪儿去
        2>& 1   将错误输出的路径指向标准输出的路径
        2>>     错误输出追加到哪儿去
        
13、通配符
    ​
       ?       匹配一个字符   zxc?   匹配前3字母为zxc的四字母字符串
       *        匹配多个字符   zxc*    匹配前3字母为zxc的三字母或三字母以上字符串
       [-]      匹配一个字符   [a-z]    匹配一个小写字母
       [^-]     匹配一个字符   [^a-z]   不匹配小写字母

​14、shell脚本
     #!/bin/bash/                   -x
     表明以下内容为脚本        x表示执行脚本时进行验证
     脚本中等于号两端没有空格

​   执行shell脚本的四种方式
        在当前bash进程中执行
        source a.sh
        . a.sh
        在当前bash的子bash中执行
        /bin/bash a.sh
        ./a.sh
        
        
15、压缩解压
    ​
   tar -zxvf xxxxx.tar.gz    -C    解压文件保存路径       解压   
   unzip   xxxxx.zip      -C    解压文件保存路径           解压
   tar -zcf xxxxxxx            压缩成.tar.gz
   zip    xxxxx                    压缩成.zip

​16、链接文件(修改其中一个另一个也会改动)
​    ​
ln [-s]  源文件    链接文件
    硬链接:
        生成的链接文件与原文件等效(连修改时间都是一致的),相当于cp -p 。
        修改链接文件和源文件修改任一都会改变另一的内容。
        删除源文件不影响链接文件的使用。
    软链接:
        相当于windows的快捷方式。
        删除原文件链接文件不删除,但是会失效。

​17、查看文件元数据
    ​stat + 文件名
        命令执行结果分析
          modify:数据改变时间
          change:元数据改变时间
          access:访问时间

        当修改文件的内容时,三个属性都会改变,当修改文件的属性,比如用户组或权限时,只有权限会改变。
        可以使用touch命令,将文件的这三个时间同步。

​18、exec
    exec 8>&1  为当前shell创建新的8号文件描述符,指向标准输出1
    exec 8<> /dev/tcp/www.baidu.com   
           为当前shell创建新的8号文件描述符,与百度首页通信
 
​19、sort
    ​
补充:常用的两种排序,字典排序,数值排序
sort [选项] filename

     -t' ' 行内字符串分隔符为空格
     -k2,3 先按第2列排,再按第三列排
     -n 按数值排序
     -r 倒序
     -f 忽略大小写
    示例: sort -t' ' -k2,3 -n -r a.txt

​
​

20、wc
​    wc [选项] filename
         -c 统计字节数
         -m 统计字符数
         -w 统计单词数
         -l 统计行数
    注意:wc命令直接对文件使用时,会将文件名一并打印出来,我们可以读取文件内容作为wc的输入,这样就不会出现文件名啦。

​
21、cut
    cut [选项] 文件
       -d 自定义的分隔符,单引号引起
       -f 显示第几列
       -s 不显示没有被分割的行
    示例: cut -d' ' -f2,3 -s a.txt 按空格切割a.txt,显示第2列和第三列 1-3列 f1-3
        默认情况下,无论显示第几列,没有分割的行都会作为列显示出来 

22、sed行编辑器  
​sed [options] 'AddressCommand' file ...
    options:
	    -n: 静默模式,不再默认显示模式空间中的内容
	    -i: 直接修改原文件
	    -e SCRIPT -e SCRIPT:可以同时执行多个脚本
	    -f /PATH/TO/SED_SCRIPT
	    -r: 表示使用扩展正则表达式
    Adress:
        可以没有
        给定范围 
        查找指定行/str/  str内部可以是正则
    Conmand
        d: 删除符合条件的行;
        p: 显示符合条件的行;
        a \string: 在指定的行后面追加新行,内容为string
	    \n:可以用于换行
        i \string: 在指定的行前面添加新行,内容为string
        r FILE: 将指定的文件的内容添加至符合条件的行处
        w FILE: 将地址指定的范围内的行另存至指定的文件中; 
        s/pattern/string/修饰符: 查找并替换,默认只替换每行中第一次被模式匹配到的字符串
            g: 行内全局替换
            i: 忽略字符大小写
            s///: s###, s@@@	
        	\(\), \1, \2

示例
​    sed "/d" a.txt          删除第一行   
    sed "/a \hello world"   在第一行后追加新行,内容为hello world
    sed "/[0-9]/p"          打印含有数字的行

    将系统运行级别改为图形界面
        sed -i "s/\(id:\)[0-6]\(:iditdefault:\)/\15\2" /etc/initab

​

​

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二百四十九先森

你的打赏是我努力的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值