Linux系统基础实践之系统操作命令

235阅读模式

常见目录介绍

/       根目录
/root        //root用户的家目录
/home/username           //普通用户的家目录
/etc            //配置文件目录
/bin          //命令目录
/sbin       //管理命令目录
/usr/bin/usr/sbin     //系统预装的其他命令

文件管理

//显示当前的目录
pwd 显示当前的目录名称

//更改当前的操作目录
cd //更改当前的操作目录
cd /path/to/...       //绝对路径
cd ./path/to/...       //相对路径
cd ../path/to/...        //相对路径
//目录文件的创建与删除
mkdir     //建立空目录mkdir a

常用参数
    -p     //递归创建多级文件夹

rmdir     //删除空文件夹
rmdir a

rm    //可以删除非空目录及文件

常用参数
    -r       //删除目录
    -f          //强制删除,不提示
    需要注意,rm -rf 后面可以跟多个目录,不要出现 rm -rf / usr 这种,会从根目录开始删除

通配符

定义:shell 内建的符号
用途:操作多个相似(有简单规律的)文件
常用通配符:
  *         //匹配任何字符串
  ?         //匹配1个字符串
  [xyz]          //匹配xyz任意一个字符
  [a-z]           //匹配一个范围
  [!xyz]或者[^xyz]        //不匹配

文本内容查看

cat   //文本内容显示到终端    显示全部
head    //查看文件开头
    head test.txt    //默认查看前10行
    head -5 test.txt 

tail    //查看文件结尾
    tail -1000f catalina.out
    常用参数 
    -f     //文件内容更新后,显示信息同步更新

wc      //统计文件内容信息    
    wc -l /tmp/test.txt      //查看文件有多少行
    -c或--bytes或——chars:     //只显示Bytes数;
    -l或——lines:     //只显示列数;
    -w或——words:      //只显示字数。
more        //分行显示 
less

打包和压缩

最早的Linux备份介质是磁带,使用的命令是tar可以打包后的磁带文件进行压缩储存,压缩的命令是 gzip 和 bzip2
经常使用的扩展名是 .tar.gz  .tar.bz2  .tgz
tar 打包命令
常用参数
    c    //打包
    x     //解包
    f     //指定操作类型为文件       v 显示进度    P 使用绝对路径
打包
tar cf /tmp/etc-backup.tar /etc      把  /etc 这个文件夹打包放在/tmp/etc-backup.tar会提示,但是也能成功:tar: Removing leading `/' from member names

tar cPf /tmp/etc-backup.tar /etc      使用绝对路径 (没有提示)
tar czf /tmp/etc-backup.tar.gz /etc  (tar集成了gzip和bzip2)
tar cjf /tmp/etc-backup.tar.bz2 /etc  (压缩比例更高)

解包
tar xf /tmp/etc-backup.tar -C /root  把 tar包解压到 /root 目录下
tar zxf /tmp/etc-backup.tar.gz -C /etc
tar zjf /tmp/etc-backup.tar.gz -C /etc

用户与权限管理

useradd 新建用户    useradd dongye(可以用 id dongye 来验证是否存在)
    创建一个用户后,自动在 /home建立家目录,并且创建一些隐藏文件。同时,在 /etc/passwd 这个文件里会加入新用户dongye的数据,/etc/shadow里面也有会相关数据(密码相关)。如果没有组的话,创建一个同名的组。
userdel 删除用户
    userdel dongye
    userdel -r dongye 同时删除家目录
passwd 修改用户密码
    passwd dongye
    passwd更改当前用户密码
    /etc/passwd 和 /etc/shadow 里面的数据也被删除
usermod 修改一个用户账户
    usermod -d /home/other dongye  家目录从 /home/dongye 改成 /home/other
chage 修改用户生命周期    设置用户密码的过期时间,甚至用户本身的过期时间

组管理命令

groupadd 新建用户组
    groupadd group1
    useradd user1
    usermod -g group1 user1 把user1这个用户的组改成group1
    useradd -g group1 user2 新建用户user2时就把它放到group1组下
groupdel 删除用户组    groupdel group1 删除组group1

用户切换

su 切换用户    su - USERNAME 使用 login shell 方式切换用户
    su USERNAME 不完全切换,比如还是在 /root下而不会自动跳转到用户家目录

sudo 以其他用户身份执行命令
    visudo 设置需要使用sudo的用户(组)。下图设置 user3用户拥有shutdown -c权限,需要输入 user3自己的密码

用户和用户组的配置文件介绍

/etc/passwd 用户配置文件,7个字段

user3:x:1003:1003::/home/user3:bin/bash
user3:用户名称
x:是否需要密码验证,x表示需要,空表示不需要
1003:用户的uid,用户的id信息,唯一识别用户的标识。root是01003:用户的gid,表示组id信息
第五个字段:注释
/home/user3:家目录
/bin/bash:用户登录后的命令解释器。/sbin/nologin 表示不能登录

/etc/shadow 保存用户和用户密码相关信息的
第一个字段:用户名称
第二个字段:用户加密过后的密码(看到也没用,经过处理,即使相同的密码也会显示不同)

/etc/group 用户组相关的配置文件,4个字段
group:x:10:another
group:组的名称
x:是否需要密码验证
10:gid
another:其他组设置,说明another这个用户的第二个组是group比如输入 id user1uid=1001(user1) gid=1001(group1) 组=1001(group1)id anotheruid=1002(another) gid=1002(another) 组=1003(group)  查找another信息,发现他的第二个组是group

文件与目录权限

Linux系统基础实践之系统操作命令

文章源自懂站帝-http://www.sfdkj.com/12203.html

文件类型-    普通文件
d      //目录文件
b      //块特殊文件
c      //字符特殊文件
l        //符号链接
f        //命名管道
s        //套接字文件


文件权限的表示方法

    字符权限表示方法
    r     //读
    w    //写
    x      //执行

    数字权限的表示方法
    r=4
    w=2
    x=1

文件权限的表示方法
rwxrwxrwx
第一个表示文件属主的权限,第二个表示文件属组的权限,第三个表示其他用户的权限

创建新文件有默认权限,根据umask值计算,属主和属组根据当前进程的用户来设定


目录权限的标识方法
x            //进入目录
rx          //显示目录内的文件名
wx        //修改目录内的文件名

文件权限的修改方法

修改权限命令(测试的时候别用root,root不受限制)

chmod    修改文件、目录权限
    chmod u+x /tmp/testfile    u表示属主
    chmod u=rwx /tmp/testfile  
    chmod g-r  /tmp/testfile   g表示属组
    chmod 0-r /tmp/testfile    o表示其他用户
    chmod a+r /tmp/testfile   a表示所有
    chmod 755 /tmp/testfile如果属主没有权限,所属的组有权限,以属主为准,还是没有权限。
chown    更改属主、属组
    chown user1 /test   把test这个目录的属主改成user1
    chown :group /test   把test这个目录的属组给成group    chown user1:group /test   一起修改
chgrp    可以单独更改属组、不常用

linux一般创建一个文件默认会赋予666权限,然后根据用的umask值来计算。
用户默认umask值为022,所以一般是 666-022=644,对应rw-r--r--

特殊权限

SUID    //用于二进制可执行文件,执行命令时取得文件属主权限    如,/usr/bin/passwd

SGID      //用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组
    文件共享时使用
SBIT    // 用于目录,该目录下新建的文件和目录,仅root和自己可以删除
    如 /tmp
文章源自懂站帝-http://www.sfdkj.com/12203.html
懂站帝
  • 本文由 发表于 2022年4月11日 00:06:36
  • 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至395045033@qq.com举报,一经查实,本站将立刻删除。