zoukankan      html  css  js  c++  java
  • 『Linux基础

    这篇笔记的只要知识点:
    (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: 清屏

  • 相关阅读:
    自定义组件要加@click方法
    绑定样式
    647. Palindromic Substrings
    215. Kth Largest Element in an Array
    448. Find All Numbers Disappeared in an Array
    287. Find the Duplicate Number
    283. Move Zeroes
    234. Palindrome Linked List
    202. Happy Number
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/gybb/p/9952314.html
Copyright © 2011-2022 走看看