Linux命令学习一:pwd,cd,ls
2022/4/20 7:12:39
本文主要是介绍Linux命令学习一:pwd,cd,ls,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
了解完Linux操作系统的整个目录体系之后,现在可以登陆到Linux系统,开始“命令之旅”了。不同的用户,刚刚登陆到Linux系统的时候,使用的目录是不一样的。比如,root用户刚登陆系统 的时候,用的是 /root 目录。而其他普通用户,登陆到Linux系统的时候,使用的是/home目录下,跟自己用户名一样的目录。如 bob 用户,登陆到Linux系统的时候,使用的就是 /home/bob 这个目录。为了检验这个说法,开始学习第一个命令:pwd。
打印当前工作目录:pwd
pwd就是print working directory的缩写,就是打印当前的工作目录啦。pwd应该是为数不多的简单的命令之一了。
基本语法
pwd [参数]
参数说明
参数 | 参数说明 |
---|---|
P | 大写字母P,显示当前目录的真实路径 |
实例
为了验证root用户登陆到系统时,默认使用的是/root目录。而其他用户登陆到系统是“/home/username"目录这个说法。可以用pwd命令来验证一下。
# 使用root 用户登陆到系统 $ pwd /root # 切换用户,使用普通用户登陆到系统,(前提是跟前面第一章装系统的时候,有添加admin用户) $ su - admin # 这个命令是切换到admin这个身份登陆到系统。 上一次登录:日 4月 17 13:44:48 EDT 2022pts/1 上 # 再打印一下当前的工作目录 $ pwd /home/admin
pwd命令还有一个参数,大写字母P。前面在讲 Linux系统目录结构的有提到过,/bin 这个目录,是 /usr/bin 目录的一个链接文件(相当于windows系统下的快捷方式)。为了验证这个说法,可以使用pwd 加上参数 P 来验证一下。
# 先进入到/bin目录,cd命令在下一节介绍 cd /bin # 查看/bin目录的真实路径 $ pwd -P /usr/bin
可以看到,/bin目录的真实路径,真的是/usr/bin目录呀。
切换目录:cd
cd命令是change directory的缩写,就是更改当前工作目录的意思啦。上面验证 /bin 目录是 /usr/bin 目录的一个链接文件的时候,就使用了cd命令进行了一次目录的切换。这个是Linux用户每天都必须会用到的命令,就像使用windows系统的时候,要打开不同的文件夹去使用不同的软件或者文件呀。
基本语法
cd [目录路径]
特殊符号
符号 | 符号说明 |
---|---|
. | 一个小数点,代表的是当前目录 |
.. | 两个小数点,代表的是上一级目录 |
~[用户] | 键盘Tab键上面的按钮,[用户]是可选参数 如果忽略了用户,则代表的是当前登陆了Linux系统的用户home目录;如果指定了用户,则代表指定用户的home目录 |
- | 一个减号,代表切回到上一次使用的工作目录 |
熟记上面的这些符号,可以一定程序上提高工作效率哦。
在进入实例之前,还有两个概念需要说明一下,就是“绝对路径”和“相对路径”。
相对路径:就是相对于当前的工作目录,以当前工作目录为参照物,另一个目录的路径;
绝对路径:就是一个完整的路径,从根目录 /
开始,一直到目标目录,一个完完整整的目录路径;
实例
比如:admin用户,对应的home目录是 /home/admin。同时,admin用户的家目录下,还有一个名为Movie的目录存放了小电影。那么,当admin用户登陆到系统的时候,可以使用以下两种方式进入到Movie目录:
# 使用绝对路径进入Movie目录 cd /home/admin/Movie # 使用相对路径进入Move目录 cd ./Movie # 相对路径,还可以简写 cd Movie
因为admin用户,登陆到Linux系统的时候,当前的工作目录是/home/admin,所以使用相对路径径进入Movie目录,cd命令后面直接输入目录名就可以了呀。
# 离开Movie目录,返回上一级目录 # 使用绝对路径 cd /home/admin # 使用相对路径 cd ..
相对路径,对于绝对路径来说,使用起来就是方便很多。但是相对路径使用起来,同一个命令可能会有不同的效果。
假设,eve用户 和 bob用户的家目录下,都有一个Movie目录,他们的绝对路径分别是 /home/eve/Movie 和 /home/bob/Movie。当eve用户和bob用户登陆到Linux后,同样的输入同命令 cd Movie 命令,因为这里使用的是相对路径,所以eve用户进入了/home/eve/Movie 目录,而bob用户进入的是 /home/bob/Movie目录。为了避免这种歧义,就可以使用绝对路径来避免。
# 最后演示一下 - 及 ~ 的用法 # 假设当前admin刚登陆系统,当前的工作目录是/home/admin # 进入/var/log 查看 日志 cd /var/log # 工作完了,需要切回自己的家目录 $ cd ~ # 查看当前的工作目录 $ pwd /home/admin # 又有新的日志产生,需要马上返回到/var/log目录 $ cd - # 查看当前的工作目录 $ pwd /var/log
查看目录里面的内容:ls
ls可以理解 为list的缩写,作用是打印指定目录所包含的目录以及文件。ls命令,默认展开指定目录下的文件以及目录,如果指定目录下面还有子目录,默认只显示子目录名称,不会展开显示子目录下面包含的文件及目录。
基本语法
ls [参数] [目录路径]
参数说明
参数 | 参数说明 |
---|---|
-a | 列出所有的文件,连同隐藏(文件名是以 . 开头的文件)文件 . 和 .. |
-l | 列出所有文件的同时,显示所有文件的详细属性,如文件大小,修改日期,修改权限等 |
-d | 只显示指定的目录,不展开显示目录下面包含的文件和目录 |
-h | 以方便人类查阅的方式显示,例如GB,KB等 |
实例
# 假设当前登陆的是root用户,当前工作目录是/root # 如果ls命令后面不带任何参数,默认输出当前工作目录里的文件和目录 $ ls abc anaconda-ks.cfg anaconda-ks.tar # 使用ls -l 查看文件更详细的内容 $ ls -l drwxr-xr-x. 2 root root 20 4月 15 17:35 abc -rw-------. 1 root root 1524 4月 15 13:39 anaconda-ks.cfg -rw-r--r--. 1 root root 10240 4月 15 16:23 anaconda-ks.tar # 其实ls -l ,可以使用ll 命令代替,ll命令,是ls -l命令的别名 $ ll drwxr-xr-x. 2 root root 20 4月 15 17:35 abc -rw-------. 1 root root 1524 4月 15 13:39 anaconda-ks.cfg -rw-r--r--. 1 root root 10240 4月 15 16:23 anaconda-ks.tar # 带上参数 -h, 更直观的看到文件大小 $ ll -h drwxr-xr-x. 2 root root 20 4月 15 17:35 abc -rw-------. 1 root root 1.5K 4月 15 13:39 anaconda-ks.cfg -rw-r--r--. 1 root root 10K 4月 15 16:23 anaconda-ks.tar
ll命令详解
展开说明一下ll命令输出的信息,这部份信息太重要了,使用Linux的用户都必须得知道输出 的到底是什么东东才行呀。
这里从左到右,画了6个部分。第一部分说明了文件的类型以及操作权限,第二部分说明了文件的inode信息,第三部分是文件所属的用户和组,第四部分是文件的修改时间,第五部分是文件名。
第一部分:文件类型及权限
文件的类型及权限还可以拆分成4个小部分查看。从左到右,每行开头的第一个字母是文件的类型;第二个框指的是文件所有者对文件的操作权限;第三个框是,跟文件所有者同一个用户组下的用户对文件的操作权限;第四个框是,其他用户对文件所拥有的操作权限。
文件类型
第一行的第一字母是 d
,说明是一个目录,而第二行的第一个字母是 -
,说明 anaconda-ks.cfg 是一个普通文件。下面用表格列出了一些常用的文件类型。
字符 | 字符说明 |
---|---|
d | 目录 |
- | 普通文件 |
l | 链接文件 |
b | 块设备,比如硬盘,U盘,SD卡等 |
c | 字符设备,比如打印机,键盘等 |
操作权限
字符 | 文件权限说明 | 目录权限说明 |
---|---|---|
r | 可读(read) | 查看目录里面的文件及子目录(read) |
w | 修改(write) | 修改目录里面文件或子目录(write) |
x | 执行(execute) | 进入目录(execute) |
- | 没有权限 | 没有权限 |
通过表,可以看到 rwx 三个字母分别对应的是什么样的操作权限。同样的权限,对于文件和目录,权限也不大一样。文件的操作权限必须是rwx这个顺序,不能随意排序。第一个位置可读权限位置上只能是 r
权限 ,或者是 -
没有“可读”权限,同理第二个位置修改权限位置上只能是 w
权限,或者是 -
没有“可写”权限。第三个位置可执行位置上,只能是 x
权限,或者是 -
没有“可执行”权限。
第二部份:inode
涉及到inode,可能一时半会说不明白。简单总结一下,如果文件类型是文件,那么inode列代表的就是文件的硬链接数,如果文件类型是目录,则inode列所代表的就是该目录下,所拥有的子目录数。
需要注意就算是一个空的目录,它的inode列显示的也是2。因为每个目录下,都有两个隐藏的子目录, 分别是代表当前目录的 .
目录,和代表上一级目录的 ..
目录。每个文件的inode列也至少是1,因为他自己也有inode信息呀。
第三部份:文件的所属用户和组
通过这部份,可以看到文件所隶属的用户和组。通过上面的图片可以看到,当前目录下所有文件都是root用户和root组所有的。后面结合前面第一部份的文件类型和权限,会有更多的理解和说明。
第四部分:文件大小
这部份就是文件的大小,默认是以字节(Byte)为单位显示,可以通过加上 -h
参数,以人类更容易读懂的方式进行显示 。
第五部份:文件修改日期
第五部分显示了文件最一次的修改时间。
第六部份:文件名称
最后这部份,显示文件的名称。Linux下,一切皆是文件,就算是设备,也是一个文件呀。
实例
最后,通过几个实例,巩固一下之前的知识。
第一行,文件类型及权限的第一个字母是 l
, 说明这个链接文件。同时可以通过文件名称这一列,可以观察看,链接文件的文件名是“grub2.cfg”,该链接文件所指向的文件是“../boot/grub2/grub.cfg”。还记得 ..
是什么意思吗?它代表的相对路径,当前目录上一级目录的意思呀。
通过第三部份可以看到,文件“grub2.cfg”所隶属的是root用户,和root用户组。再看看文件类型和权限部分,文件类型 l
后面的rwx为文件所有者对文件所拥有的权限,即root用户可以对“grub2.cfg”这个用户进行读、写、执行操作。接下来的是文件所有者,同一个用户组下的用户,对文件所拥有的权限。同样也是 rwx
,所以root用户组下的其他用户,也可以对“grub2.cfg”文件进行读、写、执行操作。最后就是既不是文件所有者,也不是跟文件所有者同一个用户组下的其他用户,对文件所拥有的操作权限 ,也都是 rwx
。所以是大家都可以对“gruub2.cfg”这个文件进行读、写、执行等操作。
通过第四部份,可以看到“grub2.cfg” 这个文件,是22Byte大小。通过第五部份,可以看到文件的修改时间,是2021年的10月9日。至此整个文件的详细信息基本都分析完啦。
下面再对“grub.d”这个文件进行分析。
通过文件及权限这部份的第一个字母,可以得知,“grub.d”是一个目录文件。后面文件的操作权限显示,除了文件的所有者拥有读、写、执行权限之外,其他用户都没有任何权限呀。然后通过第三部份可以知道,“grub.d”这个目录,是root用户所拥有的,就是除root用户,谁都没办法操作“grub.d”这个目录呢,无法进入目录,无法通过ll 命令查看“grub.d”目录里的文件及子目录,也无法在“grub.d”这个目录里进行增加、删除文件的操作。
通过第四部份,288 说明这个目录占用了288KB的磁盘空间。这只是说明了这个目录本身占了288KB的磁盘空间,并不包含目录下面的子目录和文件的大小。
最后第五部份显示了这个文件夹最后一次修改的时间是“今年4月15日 13:28”。
这篇关于Linux命令学习一:pwd,cd,ls的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法