『Linux基础 - 5 』Linux常用命令(2)
这篇笔记的只要知识点:
(1)ls查看文件信息,列表中每个字符所代表的含义
(2) 使用通配符匹配文件
(3)chmod命令:修改文件或目录权限
(4) 与用户相关命令(who、su、exit、passwd、sudo)
1. ls查看文件信息
- ls 是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。
- ls 常用选项:
- -a 显示指定目录下所有子目录与文件,包括隐藏文件.
- -l 以列表方式显示文件的详细信息.
- -h 配合 -l 以人性化的方式显示文件大小.



问题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命令的输出内容中,显示出每一个文件或目录的一些常见属性,例如:

- 在上边这样截图中, 包含了文件的一些详细的信息,图中列出的信息含义如下图所示:

在上述的属性中,第一栏
-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(读/写)。
-例如-:
设置所有人可以读写及执行:
命令可以写为:chmod 777 文件名
(等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)设置拥有者可读写,其他人不可读写执行
命令可以写为: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)的更多相关文章
- 『Linux基础 - 4 』linux常用命令(1)
这篇笔记包含以下知识点: 几个概念的理解:Linux命令,控制台,终端, 终端提示符 对文件目录的操作的相关命令: 切换目录,列出目录下的文件等 对文件的操作的相关命令: 创建,删除,复制,修改,移动 ...
- linux基础(4)-常用命令
常用命令ls ls #查看当前目录下的文件和目录 ls -l #显示详细信息 ls -a #显示所有文件 ls -t #按修改时间排序 ls -S #按文件大小排序 常用命令pwd pwd #显示 ...
- 【Linux基础学习】Ubuntu 常用命令大全
一.文件目录类 1.建立目录:mkdir 目录名 2.删除空目录:rmdir 目录名 3.无条件删除子目录: rm -rf 目录名 4.改变当前目录:cd 目录名 (进入用户home目录:cd ~:进 ...
- 『Linux基础 - 3』 Linux文件目录介绍
Windows 和 Linux 文件系统区别 -- 结构 Windows 下的文件系统 - 在 Windows 下,打开 "计算机",我们看到的是一个个的驱动器盘符: - 每个驱动 ...
- Linux基础学习笔记以及常用命令
1.windows自带命令进入mysql所在磁盘 2.进入mysql安装目录的bin文件 D:\>cd D:\Program Files (x86)\mysql-5.5.25-winx64\ ...
- Linux基础篇四:常用命令
. 一个点表示是 当前目录 .. 两个点表示当前目录的上一层目录 . 与 .. 相对路径的一种表现形式 cd ~/test/ ~当前用户的家目录 绝对路径 注意: ...
- 【原创】Linux基础之Shell脚本常用命令
#!/bin/sh 1 取脚本参数 $# 参数个数$0 当前脚本名$1 第1个参数$n 第n个参数$* 所有参数$@ 所有参数$? 上个命令的状态$$ 当前pid 2 日期 $ dateWed Mar ...
- linux下维护服务器之常用命令
linux下维护服务器之常用命令! 第1套如下: 正则表达式: 1.如何不要文件中的空白行和注释语句: [root@localhost ~]# grep -v '^$' 文件名 |grep -v '^ ...
- 实验 1 Linux 系统的安装和常用命令
实验 1 Linux 系统的安装和常用命令 (题目) 一.实验目的 (1)掌握 Linux 虚拟机的安装方法.Spark 和 Hadoop 等大数据软件在 Linux 操作系统 上运行可以发挥最佳性能 ...
随机推荐
- 【Oracle】Oracle11g安装和基本的使用-转载
一.测试操作系统和硬件环境是否符合,我使用的是win2008企业版.下面的都是step by step看图就ok了,不再详细解释. 请留意下面的总的设置步骤:--------------------- ...
- 在Server2012R2上导入Server2008R2的HyperV虚拟机
Importing Windows 2008 R2 Hyper-V VM Into Windows 8.1 For the purposes of this post, let’s try and i ...
- linux命令整理
Linux系统命令 1. ls 查看某个 目录下 所有文件的大小总和 ls -lR| awk 'BEGIN{size=0;} /^[-l]/{size+=$5;print $0;} END{print ...
- dia无法输入中文的解决
安装dia后无法输入中文,解决如下: 修改/usr/bin/dia #dia-normal --integrated "$@" dia-normal "$@"
- Apache Commons-logging使用实例
Apache Commons-logging使用实例 本文将介绍如何在程序中使用Apache Commons-logging author: ZJ 07-3-17 Blog: [url]http:// ...
- phonegap 捕获图片,音频,视屏 api capture
一. capture Api 简单介绍 capture 对象用于获取视屏,音频和图像,它是一个全局对象,通过 navigator.device.capture 来访问 方法: capture.capt ...
- 阅读HandlerInterceptor接口源码的理解
一.阅读接口类注释 我先理解的方法,方法都看懂了类注释自然而然明白了.所以此处略. 二.阅读preHandle()方法注释 Intercept the execution of a handler. ...
- C/C++心得-从内存开始
因工作与自身各方面需要,开始重新学C,其实说重新也不太准,原来只是大学里面接触过,且还未得多少精髓就转其他开发,不过也正是因此才有了重新学习的必要,基础部分的心得将通过博文记录下来,对于初学者应该有些 ...
- yii2.0 在save保存之前的操作(放在模型model文件内)
public function beforeSave($insert){ if(parent::beforeSave($insert)) { if($insert) { } else { } retu ...
- SSH框架——(二)四层结构:DAO,Service,Controller,View层
1. DAO层: 主要任务:做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此. DAO层的设计:首先是设计DAO层的接口,然后再Spring的配置文件中定义此接口的实现类,然后就可以在模块 ...