先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
正文
ls后面可以通过空格跟着多个文件或目录。
如下,查看当前目录、根目录、root用户目录、my.txt文件。
[root_test@VM_0_15_centos ~]$ ls ./ / /root test/my.txt
test/my.txt
/:
bin data etc lib lost+found mnt proc run srv sys usr
boot dev home lib64 media opt root sbin swap_file tmp var
./:
axel-2.4-9.el7.x86_64.rpm test Y6kkd1d
ls: cannot open directory /root: Permission denied
ls -l
查看长列表形式的文件
ls -l
中 -l
表示长列表格式(long listing format
)。
使用该命令,可以以列表且内容更详细的形式查看文件。
$ ls -l
total 64
-rw-rw-r-- 1 root_test root_test 54908 Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
drwxrwxr-x 2 root_test root_test 4096 Oct 26 21:52 test
-rw-rw-r-- 1 root_test root_test 0 Sep 3 17:40 Y6kkd1d
ls -l 长列表格式详解
通过执行命令 ls -l
显示的长列表格式的文件信息,包含着文件有关的更多内容。
我们以下面两行为例:
-rw-rw-r-- 1 root_test root_test 54908 Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
drwxrwxr-x 2 root_test root_test 4096 Oct 26 21:52 test
格式详解
长列表格式的输出在每一行中列出了单个文件或目录。不仅有文件名,还包括文件的类型(属性)、大小、权限等详细信息:
-
第一行显示了在目录中文件占用的总块数(文件系统块数
the number of file system blocks
)。表示的是目录下所有文件的大小。 -
之后的每一行显示该文件的长格式信息。
长格式信息一个分为7大列,10小项。
| file mode【文件模式】 | number of links【链接数】 | owner name【所属用户名】 | group name【所属组名】 | number of bytes in the file【文件字节数】 | The date of last modification【组后修改的日期】 | filename【文件名】 |
| — | — | — | — | — | — | — |
| File Type[文件类型] | 所有者权限 | 所属组的权限 | 其他用户权限 | 链接数 | 所有者 | 所属群组 | 文件的字节大小 | 最后修改时间 | 文件名 |
| — | — | — | — | — | — | — | — | — | — |
| - | rw- | rw- | r-- | 1 | root_test | root_test | 54908 | Apr 16 2014 | axel-2.4-9.el7.x86_64.rpm |
| d | rwx | rwx | r-x | 2 | root_test | root_test | 4096 | Oct 26 21:52 | test |
-
第一列共10位,第1位表示文档类型,d表示目录,-表示普通文件。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、excutable,即可读、可写、可执行权限。如:-rwxr-xr–的含义为,当前文档是一个普通文件,所属用户可读、可写、可执行,同一个群组下的用户,可读、可执行,其他人只有可读取的权限。
-
第二列表示链接数,表示有多少个文件链接到inode号码。它表示的是硬链接数。
硬链接数并不表示实际的文件数。
硬链接(
hard link
, 也称链接)是指通过索引节点来进行的链接。
在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(
inode number
)。
【关于inode参见最后一部分附:关于 inode 和 ls -li的介绍】
-
第三列表示拥有者,即文件所属用户
-
第四列表示所属用户组。
-
第五列表示文档容量大小,单位字节。
-
第六列表示文档最后修改时间,注意不是文档的创建时间!包括缩写的月(
abbreviated month
)、日、小时、分钟等。 -
第七列表示文档名称。以点 . 开头的是隐藏文件
关于第一行的文件块数和-k
选项的问题
第一行显示的文件大小,默认的单位是 512 byte,除非指定 -k
,指定选项 -k
将以 1024 byte(1kB blocks) 为单位。
该内容参考自 What does the first line “Total” indicate while executing the ls -l command in Linux? [closed],并且 POSIX文档 中也是这么说的。
可实际测试,在加 -k
和不加 -k
选项的情况下,Total显示的数字是一样的,具体原因未找到相关资料,不知是否是用法不对。
不加 -k
选项为 64:
$ ls -l
total 64
-rw-rw-r-- 1 root_test root_test 54908 Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
drwxrwxr-x 2 root_test root_test 4096 Oct 26 21:52 test
-rw-rw-r-- 1 root_test root_test 0 Sep 3 17:40 Y6kkd1d
加 -k
选项仍为 64:
$ ls -lk
total 64
-rw-rw-r-- 1 root_test root_test 54908 Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
drwxrwxr-x 2 root_test root_test 4096 Oct 26 21:52 test
-rw-rw-r-- 1 root_test root_test 0 Sep 3 17:40 Y6kkd1d
使用 --block-size
选项设置第一行显示的块大小
要查看不同单位的块大小的显示,可以使用 --block-size
选项。
ls -l --block-size=M
将会以近似 MiB 的文件大小显示。如果先要使用 MB (10^6 bytes) 而不是 MiB (2^20 bytes) 单位,可以使用 --block-size=MB
代替。
实际测试
--block-size=B
和--block-size=MB
看不出什么区别。
$ ls -l --block-size=M
total 1M
-rw-rw-r-- 1 root_test root_test 1M Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
drwxrwxr-x 2 root_test root_test 1M Oct 26 21:52 test
-rw-rw-r-- 1 root_test root_test 0M Sep 3 17:40 Y6kkd1d
$ ls -l --block-size=k
total 64K
-rw-rw-r-- 1 root_test root_test 54K Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
drwxrwxr-x 2 root_test root_test 4K Oct 26 21:52 test
-rw-rw-r-- 1 root_test root_test 0K Sep 3 17:40 Y6kkd1d
而且,还可以使用任何你想要的给定的数字单位,如 --block-size=1M
、--block-size=2k
。
$ ls -l --block-size=2k
total 32
-rw-rw-r-- 1 root_test root_test 27 Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
drwxrwxr-x 2 root_test root_test 2 Oct 26 21:52 test
-rw-rw-r-- 1 root_test root_test 0 Sep 3 17:40 Y6kkd1d
关于 -h
选项(human readable)
ls -lh
可以获得长格式列表和 人类可读(human readable
) 的文件大小。
$ ls -lh
total 64K
-rw-rw-r-- 1 root_test root_test 54K Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
drwxrwxr-x 2 root_test root_test 4.0K Oct 26 21:52 test
-rw-rw-r-- 1 root_test root_test 0 Sep 3 17:40 Y6kkd1d
ls -s 查看磁盘使用情况
$ ls -s
total 64
60 axel-2.4-9.el7.x86_64.rpm 4 test 0 Y6kkd1d
ls -a 显示隐藏文件和文件夹,即指定目录下的所有文件
Linux中,以 .
开头的文件或文件名就是隐藏文件。
默认 ls 查看文件时,并不会显示隐藏文件。可通过 -a
(--all
)选项查看所有文件。
$ ls --all
. axel-2.4-9.el7.x86_64.rpm .bash_logout .bashrc .config .pki .viminfo
… .bash_history .bash_profile .cache .mozilla test Y6kkd1d
$ ls
axel-2.4-9.el7.x86_64.rpm test Y6kkd1d
结合 -l
查看,ls -al
:
$ ls -al
total 116
drwx------ 7 root_test root_test 4096 Oct 26 21:52 .
drwxr-xr-x. 7 root root 4096 Apr 11 2018 …
-rw-rw-r-- 1 root_test root_test 54908 Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
-rw------- 1 root_test root_test 10633 Oct 28 14:04 .bash_history
-rw-r–r-- 1 root_test root_test 18 Dec 7 2016 .bash_logout
-rw-r–r-- 1 root_test root_test 193 Dec 7 2016 .bash_profile
-rw-r–r-- 1 root_test root_test 231 Dec 7 2016 .bashrc
drwxrwxr-x 3 root_test root_test 4096 Sep 2 11:36 .cache
drwxrwxr-x 3 root_test root_test 4096 Sep 2 11:36 .config
drwxr-xr-x 4 root_test root_test 4096 Jun 21 2019 .mozilla
drwxrw---- 3 root_test root_test 4096 Sep 2 11:41 .pki
drwxrwxr-x 2 root_test root_test 4096 Oct 26 21:52 test
-rw------- 1 root_test root_test 1985 Sep 3 09:44 .viminfo
-rw-rw-r-- 1 root_test root_test 0 Sep 3 17:40 Y6kkd1d
ls -lr
通常不会直接使用 ls -r
而是要结合 -l
使用。
-r
表示逆向排序显示;默认是以文件名逆序显示的。
$ ls -r
Y6kkd1d test axel-2.4-9.el7.x86_64.rpm
$ ls
axel-2.4-9.el7.x86_64.rpm test Y6kkd1d
结合 -l
:
$ ls -l -r
total 64
-rw-rw-r-- 1 root_test root_test 0 Sep 3 17:40 Y6kkd1d
drwxrwxr-x 2 root_test root_test 4096 Oct 26 21:52 test
-rw-rw-r-- 1 root_test root_test 54908 Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
-r -t
可以实现按时间进行逆序显示(ls -l -r -t
):
$ ls -lrt
total 64
-rw-rw-r-- 1 root_test root_test 54908 Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
-rw-rw-r-- 1 root_test root_test 0 Sep 3 17:40 Y6kkd1d
drwxrwxr-x 2 root_test root_test 4096 Oct 26 21:52 test
以上所有命令都可以合并简写,如:ls -lr
,ls -lrt
。
ls -R 递归显示文件(所有的文件)
-R
用于递归显示文件夹中的文件。
$ ls -R
.:
axel-2.4-9.el7.x86_64.rpm test Y6kkd1d
./test:
my.txt
命令组合使用:
$ ls -alrtR
.:
total 116
-rw-rw-r-- 1 root_test root_test 54908 Apr 16 2014 axel-2.4-9.el7.x86_64.rpm
-rw-r–r-- 1 root_test root_test 231 Dec 7 2016 .bashrc
-rw-r–r-- 1 root_test root_test 193 Dec 7 2016 .bash_profile
-rw-r–r-- 1 root_test root_test 18 Dec 7 2016 .bash_logout
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
nx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-femctpe8-1713225594792)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!