美文网首页
【Linux】5. Linux常用命令(2)

【Linux】5. Linux常用命令(2)

作者: 古月半半 | 来源:发表于2018-09-18 17:23 被阅读0次

    这篇笔记的只要知识点:
    (1)ls查看文件信息,列表中每个字符所代表的含义
    (2) 使用通配符匹配文件
    (3) chmod命令:修改文件或目录权限
    (4) 与用户相关命令(whosuexitpasswdsudo)

    1. ls查看文件信息

    • ls 是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。
    • ls 常用选项:
      • -a 显示指定目录下所有子目录与文件,包括隐藏文件.
      • -l 以列表方式显示文件的详细信息.
      • -h 配合 -l 以人性化的方式显示文件大小.
    1-ls查看文件 .png 2-ls-l查看文件详情.png 3-ls-l-h以人性化的方式查看文件详情.png

    问题1: 查看家目录下的文件
    ls -l /home/python/

    问题2: 查看家目录下的所有文件
    ls -a /home/python/
    ls -a -l /home/python/
    ls -la /home/python/

    问题3: 详细查看家目录下的文件,并且以更友好的方式显示文件大小
    ls -lh /home/python



    2. 文件列表详情

    在ls -l命令的输出内容中,显示出每一个文件或目录的一些常见属性,例如:


    5-文件的详情.png
    • 在上边这样截图中, 包含了文件的一些详细的信息,图中列出的信息含义如下图所示:
    01- 各个信息的含义.png
    • 在上述的属性中,第一栏-rw-r--r--为该文件的权限栏,该块共有10个字符组成。其中第一个字符显示该文件的类型,共有7种文件类型:

      • d: 代表目录
      • -: 代表文件
      • l: 代表连接档
      • b: 代表设备文件里可供存储的接口设备
      • c: 代表设备文件里的串行端口设备。
      • s: 代表数据接口文件
      • p: 代表FIFO文件
    • 其余9个字符分为三组:

      • 第一组代表文件拥有者的权限
      • 第二组代表文件拥有组的权限
      • 第三组代表其他用户的权限
    • 这三组中每组又有三个字符,分别代表这rwx权限,也就是读,写,执行权限。当权限不存在时,系统会以-填充该位。

      • r : 读
      • w : 写
      • x : 执行
      • - : 当权限不存在时,系统会以-填充该位,代表空许可

    [小练习:]
    (1). 在终端输入下列命令:
    ls -lh /home/python
    (2). 我们会得到以下的一条信息:
    drwxr-xr-x 2 python python 4.0K 5月 16 2016 Music
    (3). 请说明上述信息的含义.
    答:
    第一部分:drwxr-xr-x
    第一个字符:表示文件的列席 - (普通文件) d(目录)
    第2个字符到第10个字符 :文件的访问权限
    第二部分:python python
    第一个python :是文件的属主用户,即谁创建的该文件就是属主用户
    第二个python: 就是属主用户的组


    3. 使用通配符匹配文件

    通配符 含义
    * 文件代表文件名中所有字符.
    ls te* 查找以te开头的文件
    ls *html 查找结尾为html的文件.
    ? 代表文件名中任意一个字符
    ls ?.c 只找第一个字符任意,后缀为.c的文件.
    ls a.? 只找只有3个字符,前2字符为a.,最后一个字符任意的文件.
    [] [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。
    [abc] 匹配a、b、c中的任意一个
    [a-f] 匹配从a到f范围内的的任意一个字符
    ls [a-f]* 找到从a到f范围内的的任意一个字符开头的文件
    ls a-f 查找文件名为 "a-f" 的文件,当 "-" 处于方括号之外失去通配符的作用
    ls *a 查找文件名为*a的文件

    [注意]:
    \: 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。"?" 和 "*" 处于方括号内时不用使用转义字符就失去通配符的作用.

    问题1: 查看/bin目录中以r开头的所有文件
    python@ubuntu:~$ ls /bin/r*
    /bin/rbash /bin/red /bin/rmdir /bin/run-parts
    /bin/readlink /bin/rm /bin/rnano

    问题2: 查看/bin目录中以r开头的只有两个字符的文件
    python@ubuntu:~$ ls /bin/r?
    /bin/rm



    4. 修改文件或目录权限:chmod

    • Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
    • chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
    • 英文原意:change the permissions mode of a file
    • chmod 修改文件权限有两种使用格式:字母法与数字法。
      • 字母法:包含字母和操作符表达式的文字设定法
      • 数字法, 即包含数字的数字设定法。
    (一) 字母法:chmod u/g/o/a +/-/= rwx 文件

    文字设定法的标准格式:

    chmod [who] [+ | – | =] [mode] 文件名
    

    上述格式中,各个操作选项分别为:
    (1) 操作对象who可是下述字母中的任一个或者它们的组合:

    选项 含义 说明
    u 用户(user) 即文件或目录的所有者。
    g 同组(group)用户 即与文件属主有相同组ID的所有用户。
    o 其他(others)用户 表示其他以外的人
    a 所有(all)用户 三者皆是,它是系统默认值。

    (2) [ +-= ]操作符可以是:

    选项 说明
    + 添加某个权限。
    取消某个权限。
    = 赋予给定权限并取消其他所有权限(如果有的话)。

    (3) 设置mode所表示的权限可用下述字母的任意组合:

    rwx选项 含义
    read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
    w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
    x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

    问题1: 对test2目录下的sublime.py 文件的拥有者用户及同组用户添加执行权限,对其他用户添加写权限
    答: chmod u+x,g+x,o+w sublime.py

    问题2: 对test2目录下的sublime.py同组用户移除执行权限,对其他用户设置无权限
    答: chmod g-x,o= sublime.py

    (二)数字法: 用数字代表r,w,x

    数字命令的一般格式为: chmod [mode] 文件名¼

    • 表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,
    数字代号 代表字母 说明
    4 r 读取权限
    2 w 写入权限
    1 x 执行权限
    0 - 不具任何权限

    例如: 执行:chmod u=rwx,g=rx,o=r filename就等同于:chmod u=7,g=5,o=4 filename

    • 可以向上述权限相加,进行权限组合。所以数字属性的格式应为3个从0到7的八进制数,其顺序是u用户user-->g同组用户group user-->o其他用户other user (上边第一种文字方法提到的操作对象who)。
    • 如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。

    -例如-:

    1. 设置所有人可以读写及执行:
      命令可以写为: chmod 777 文件名
      (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)

    2. 设置拥有者可读写,其他人不可读写执行
      命令可以写为:chmod 600 文件名
      (等价于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )

    问题3:使用数字法对test2目录的sublime.py所有用户均设置读写执行权限
    答: chmod 777 sublime.py

    常见的权限表示形式:
    字母法 数字法 权限说明
    -rw------- 600 只有拥有者有读写权限。
    -rw-r--r-- 644 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
    -rwx------ 700 只有拥有者有读、写、执行权限。
    -rwxr-xr-x 755 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
    -rwx--x--x 711 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
    -rw-rw-rw- 666 所有用户都有文件读、写权限。
    -rwxrwxrwx 777 所有用户都有读、写、执行权限。

    5. 与用户相关命令(who、su、exit、passwd、sudo)

    (1) who : 查看哪些用户在登录 who

    例如, 查看当前哪些用户在登录:

    python@ubuntu:~/Desktop$ who
    

    返回:

    python   tty7         2018-06-02 08:31 (:0)
    python   pts/18       2018-06-02 10:33 (192.168.169.94)
    

    上述返回信息中, 'python'表示: 登录的用户名; 'tty7'表示本地终端登录; 'pts'表示远程终端登录

    (2) sudo : (superuser do )超级用户授权当前用户执行命令sudo

    • 格式: sudo command
      例如: 在/opt目录下创建images文件夹
      执行命令:python@ubuntu:/opt$ mkdir images
      我们会得到返回信息:mkdir: 无法创建目录"images": 权限不够
      所以,可以使用sudo执行上述命令:
    python@ubuntu:/opt$ sudo mkdir iamges
    

    执行上诉sudo命令后,会返回核验超级用户密码的要求:[sudo] python 的密码: 输入密码后,即可在/opt目录下创建images文件夹

    (3) passwd : 设置密码 password

    • 格式: sudo passwd 用户名

    例如,设置root用户密码:

    # 输入命令行:
    python@ubuntu:/opt$ passwd root
    #(返回) passwd:您不能查看或更改 root 的密码信息。
    # sudo 命令:
    python@ubuntu:/opt$ sudo passwd root
    #(返回) 输入新的 UNIX 密码: 
    # (返回)重新输入新的 UNIX 密码: 
    (返回)passwd:已成功更新密码
    

    (4) su 切换账户 su

    例如: 使用su命令切换到root用户

    su root
    

    (5 ) exit : 退出用户登录 exit
    -- 如果是ubuntu图形界面打开的命令终端,退出当前终端
    -- 如果是使用ssh远程登录,退出登录账户
    -- 如果是切换后的登录用户,退出则返回上一个登录账号

    #使用exit命令退出命令终端界面
    exit
    

    终端命令小技巧

    • ctrl + shift + :放大终端窗口的字体显示

    • ctrl + -: 缩小终端窗口的字体显示

    • 终端窗口-->右键-->配置文件-->配置文件首选项-->自定义字体

    • 在敲出 文件/目录/命令 的前几个字母之后,按下 tab 键

      • 如果输入的没有歧义,系统会自动补全
      • 如果还存在其他 文件/目录/命令,再按一下 tab 键,系统会提示可能存在的命令
    • 按 上/下 光标键可以在曾经使用过的命令之间来回切换

    • 如果想要退出选择,并且不想执行当前选中的命令,可以按ctrl + c,ctrl + c 还可中断命令执行,比如中断top命令等

    • ctrl + l: 清屏

    相关文章

      网友评论

          本文标题:【Linux】5. Linux常用命令(2)

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