初探Linux--鸟哥私房菜读书笔记

CISC(complex Instruction Set Computer)复杂指令集,指令数目多且复杂,但是每条指令可以处理的工作更丰富。

存储单元包含内存(ARM)和辅助内存(硬盘、软盘、光盘、磁带)。

基础指令

date :显示当前时间

cal :显示日历

指令 --help :查看该指令的帮助

man page 指令 :查看该指令的用法

info page 指令:查看该指令的用法

coding@DESKTOP-5MQ0I0D:/tmp$ date

Tue Mar 5 15:15:27 DST 2019

coding@DESKTOP-5MQ0I0D:/tmp$ cal

March 2019

Su Mo Tu We Th Fr Sa

1 2

3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31

coding@DESKTOP-5MQ0I0D:/tmp$ ls --help

文件拥有者 user

组群 group

其他人 other

coding@DESKTOP-5MQ0I0D:/tmp$ ll

total 4

drwxrwxrwt 1 root root 512 Mar 5 14:10 ./

drwxr-xr-x 1 root root 512 Feb 27 14:33 …/

-rw-rw-rw- 1 coding coding 83 Mar 4 17:32 20190304test001.txt

-rw-rw-rw- 1 coding coding 304 Mar 5 14:07 all.tar.xz

-rw-r–r-- 1 coding coding 3771 Feb 28 19:47 bashrc

drwxrwxrwx 1 coding coding 512 Mar 5 14:09 test2/

drwxr–r-- 1 coding coding 512 Mar 5 13:46 testing/

coding@DESKTOP-5MQ0I0D:/tmp$

第一个字符代表这个文件是“目录、文件或链接文件等等”:

当为[ d ]则是目录,例如上表文件名为“.config”的那一行;

当为[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;

若是[ l ]则表示为链接文件(link file);

若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);

若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)。

接下来的字符中,以三个为一组,且均为“rwx” 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写

(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而

已。

第一组为“文件拥有者可具备的权限”,以“initial-setup-ks.cfg”那个文件为例, 该文件的拥有者可以读写,但不可执

行;

第二组为“加入此群组之帐号的权限”;

第三组为“非本人且没有加入本群组之其他帐号的权限”。

r的权限4

w的权限2

x的权限1

如:rwxr-xr-- 754

绝对路径:路径起始是‘/’,因为Linux中所有的目录都挂在“/”目录下。

相对路径:相对于当前目录的路径

cd:变换目录

pwd:显示目前的目录

mkdir:创建一个新的目录

rmdir:删除一个空的目录

cp:复制目录

mv:移动目录

rm:删除目录

在这里插入图片描述

coding@DESKTOP-5MQ0I0D:~$ cd /tmp/

coding@DESKTOP-5MQ0I0D:/tmp$ ls

20190304test001.txt all.tar.xz bashrc test2 testing

coding@DESKTOP-5MQ0I0D:/tmp$ pwd

/tmp

coding@DESKTOP-5MQ0I0D:/tmp$ mkdir test

coding@DESKTOP-5MQ0I0D:/tmp$ ls

20190304test001.txt all.tar.xz bashrc test test2 testing

coding@DESKTOP-5MQ0I0D:/tmp$ rmdir test

coding@DESKTOP-5MQ0I0D:/tmp$ ls

20190304test001.txt all.tar.xz bashrc test2 testing

coding@DESKTOP-5MQ0I0D:/tmp$ cp test2 .

cp: -r not specified; omitting directory ‘test2’

coding@DESKTOP-5MQ0I0D:/tmp$ cp /etc/services .

coding@DESKTOP-5MQ0I0D:/tmp$ ls

20190304test001.txt all.tar.xz bashrc services test2 testing

coding@DESKTOP-5MQ0I0D:/tmp$ mv 20190304test001.txt test2

coding@DESKTOP-5MQ0I0D:/tmp$ ls

all.tar.xz bashrc services test2 testing

coding@DESKTOP-5MQ0I0D:/tmp$ ls test2

20190304test001.txt

coding@DESKTOP-5MQ0I0D:/tmp$ rm test2

rm: cannot remove ‘test2’: Is a directory

coding@DESKTOP-5MQ0I0D:/tmp$ rm test2/20190304test001.txt

coding@DESKTOP-5MQ0I0D:/tmp$ ls test2

coding@DESKTOP-5MQ0I0D:/tmp$ rmdir test2

coding@DESKTOP-5MQ0I0D:/tmp$ ls

all.tar.xz bashrc services testing

coding@DESKTOP-5MQ0I0D:/tmp$

SUID(SetUID) :将user的x权限变成s 如:-rwsr-xr-x

SGID(SetGID):将group的x权限变成s 如:-rwxr-sr-x

whatis 指令 : 表示这指令是做什么的

which 指令 :指令所在的目录

whereis 指令:指令的位置

coding@DESKTOP-5MQ0I0D:/tmp$ whatis ls

ls (1) - list directory contents

coding@DESKTOP-5MQ0I0D:/tmp$ which ls

/bin/ls

coding@DESKTOP-5MQ0I0D:/tmp$ whereis ls

ls: /bin/ls /usr/share/man/man1/ls.1.gz

coding@DESKTOP-5MQ0I0D:/tmp$

文件系统通常会将这两部

份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data block 区块中。

Hard Link:

通过文件系统的 inode 链接来产生新文件名,而不是产生新文件!这种称为实体链接

Symbolic Link

Symbolic link 就是在创建一个独立的文件,而这个文件会让

数据的读取指向他 link 的那个文件的文件名!由于只是利用文件来做为指向的动作, 所以,当来源文件被删除之后,symbolic link

的文件会“开不了”, 会一直说“无法打开某文件!”

Hard Link 和Symbolic Link的区别:Hard Link是对源文件的inode取了一个新的名称,通过源文件或链接文件都可以访问到inode存储的内容,也就是说源文件和链接文件对应的inode是一样的。所以即使删掉了源文件,通过链接文件还是可以访问的。而Symbolic Link 会产生一个新的文件记录下源文件的位置,访问链接文件,实际上是通过读取里面的信息从而找到源文件进行访问。也就是说源文件和链接文件的iNode是不一样的,并且当文件删除后,再次访问链接文件会报错找不到源文件的。

coding@DESKTOP-5MQ0I0D:/tmp$ ln testing/20190304test001.txt .

coding@DESKTOP-5MQ0I0D:/tmp$ ls -li . testing/

.:

total 24

36873221949214360 -rw-rw-rw- 2 coding coding 83 Mar 5 13:46 20190304test001.txt

25332747903961015 -rw-rw-rw- 1 coding coding 304 Mar 5 14:07 all.tar.xz

10696049115236520 -rw-r–r-- 1 coding coding 3771 Feb 28 19:47 bashrc

55732045388840168 -rw-r–r-- 1 coding coding 19183 Mar 5 15:38 services

27021597764376606 drwxr–r-- 1 coding coding 512 Mar 5 16:12 testing

testing/:

total 0

36873221949214360 -rw-rw-rw- 2 coding coding 83 Mar 5 13:46 20190304test001.txt

coding@DESKTOP-5MQ0I0D:/tmp$

coding@DESKTOP-5MQ0I0D:/tmp$ ln -s testing/20190304test001.txt 20190304tets002.txt

coding@DESKTOP-5MQ0I0D:/tmp$ ls -li

total 24

36873221949214360 -rw-rw-rw- 2 coding coding 83 Mar 5 13:46 20190304test001.txt

23362423067085188 lrwxrwxrwx 1 coding coding 27 Mar 5 16:17 20190304tets002.txt -> testing/20190304test001.txt

25332747903961015 -rw-rw-rw- 1 coding coding 304 Mar 5 14:07 all.tar.xz

10696049115236520 -rw-r–r-- 1 coding coding 3771 Feb 28 19:47 bashrc

55732045388840168 -rw-r–r-- 1 coding coding 19183 Mar 5 15:38 services

27021597764376606 drwxr–r-- 1 coding coding 512 Mar 5 16:12 testing

coding@DESKTOP-5MQ0I0D:/tmp$

文件压缩

gzip

bzip2

xz

三者的语法基本都差不多,gzip 效率最差,但是速度最快

xz效率最高,但是耗时最长。

选项与参数:

-c :将压缩的数据输出到屏幕上,可通过数据流重导向来处理;

-d :解压缩的参数;

-t :可以用来检验一个压缩文件的一致性~看看文件有无错误;

-v :可以显示出原文件/压缩文件的压缩比等信息;

-# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6

打包指令 tar

选项与参数:

-c :创建打包文件,可搭配 -v 来察看过程中被打包的文件名(filename)

-t :察看打包文件的内容含有哪些文件名,重点在察看“文件名”就是了;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

我个人认为,如果你想靠着背面试题来获得心仪的offer,用癞蛤蟆想吃天鹅肉形容完全不过分。想必大家能感受到面试越来越难,想找到心仪的工作也是越来越难,高薪工作羡慕不来,却又对自己目前的薪资不太满意,工作几年甚至连一个应届生的薪资都比不上,终究是错付了,错付了自己没有去提升技术。

这些面试题分享给大家的目的,其实是希望大家通过大厂面试题分析自己的技术栈,给自己梳理一个更加明确的学习方向,当你准备好去面试大厂,你心里有底,大概知道面试官会问多广,多深,避免面试的时候一问三不知。

大家可以把Java基础,JVM,并发编程,MySQL,Redis,Spring,Spring cloud等等做一个知识总结以及延伸,再去进行操作,不然光记是学不会的,这里我也提供一些脑图分享给大家:

希望你看完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在明年的金三银四拿到心仪的offer,加油,打工人!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
可以把Java基础,JVM,并发编程,MySQL,Redis,Spring,Spring cloud等等做一个知识总结以及延伸,再去进行操作,不然光记是学不会的,这里我也提供一些脑图分享给大家:

[外链图片转存中…(img-H9TsTi1j-1713539755549)]

[外链图片转存中…(img-TDeLl2by-1713539755549)]

[外链图片转存中…(img-q8OJRTl4-1713539755550)]

希望你看完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在明年的金三银四拿到心仪的offer,加油,打工人!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值