Linux云服务器——Bash Shell学习笔记 (2)

这次的笔记不全关于写脚本,更多的是Linux的基础命令,写出来增强一下自己的记忆顺便留个笔记方便以后要用的时候查询。

常用命令:

man用于查询命令的帮助文档,格式:man [命令]

ls是list的缩写,用于列出目录,格式:ls -a列出包括隐藏文件 -l列出除了隐藏文件外的详细文件和详细信息。

从左到右分别是:文件属性 权限 文件硬链接数 所属用户 所属用户组 占用空间 创建时间 文件名

关于文件属性还有以下的解释:

“-“代表普通文件。

“d”代表文件夹/目录,是diretory的缩写。

“l”代表链接,类似于快捷方式,是link的缩写。

“b”代表块文件,是block的缩写,详细要看硬盘挂载那一块的内容。

“c”代表字符设备文件,是character的缩写。

“p”代表命令管道文件,是pipe的缩写,用作Shell编程。

“s”代表sock文件,用作Shell编程。

和Windows系统一样的关机命令:

关机:shutdown -h 时间、halt

重启:shutdown -r 时间、reboot

文件/目录操控指令:

cp:复制copy的缩写,格式:cp [选项] [源文件] [目标文件]

-r:用于复制一个目录 -i:安全选项,当遇到同名文件时会询问是否覆盖。

mv:移动move的缩写,格式:mv [选项] [源文件/目录] [目标文件/目录]

rm:删除remove的缩写,格式:rm [选项] [目标文件]

-r:选取目录 -f:强制删除 删除文件夹时需要用到 rm -rf [文件名]

mkdir:创建文件夹make diretory的缩写,格式:mkdir [文件名]

rmdir:删除文件夹remove diretory的缩写,格式:rmdir [文件名]

文档相关命令:

cat:用于查看一个文件的内容,以第一行作为开始,格式:cat [选项] [文件名]

-n:显示行号 -A:显示所有内容

tac:cat的反过来,以最后一行作为开始查看文件内容,格式:tac [选项] [文件名]

more:用于查看文件内容,但是多了一个翻页选项,格式:more [文件名]

Ctrl+B:向上翻屏 Ctrl+F / 空格:向下翻屏 Q:提前退出 /“字符“:搜索关键字符

less:与more相同,但是多了一个单行移动,格式:less [文件名]

J:向下移动一行 K:向上移动一行

head:用于显示文件前十行的内容,格式:head [选项] [文件名]

-n:n代表显示的行数,可以用于查看前n行的内容

tail:与head相反,显示文件最后十行的内容,格式:tail [选项] [文件名]

文件权限相关:

chgrp:更改文件所属组change group的缩写,格式:chgrp [组名] [文件名]

chown:更改文件拥有者change owner的缩写,格式:chown [选项] [用户名/组名] [文件名]

-R:用于更改整个目录权限时用

chmod:更改模式change mode的缩写,用于更改用户对文件/目录的读写执行权限,格式:chmod [选项] [xyz] [文件名]

xyz:表示数字 -R:同chown

值得一提的是chmod还挺好玩,我都还没有完全理解到底怎么搞这些数字。Linux系统的目录默认权限为755,文件默认权限是644,数字的大小分别代表了rwx权限的多少,r=4、w=2、x=1,三个数字分别代表:所属用户、所属用户组、其他用户。chmod还可以直接通过rwx的方式来给予权限,用u、g、o来代表 所属用户、所属用户组、其他用户 ,格式:u=rwx、ug=wx

umask:向客户端输入就可以得到一串神秘代码0022,这是系统的默认要减去的权限,像是目录的755就是由他来定义的,用户创建目录的权限为777文件夹为666,但是有了umask,当创建目录和文件夹时便要减去umask定-义的值。

chattr:change attribute的缩写,用于添加、删除一些权限,格式:chattr [+-=] [选项] [文件或目录]

-A:添加后文件或目录的atime(访问时间)不可修改 -s:添加后数据会同步写入磁盘

-a:添加后文件只能追加内容不能删除 -c:添加后会自动压缩该文件,读取时会自动解压

-i:添加后文件不能删除、重命名、设定软硬链接、写入添加新数据

lsattr:list attribute的缩写,用于读取文件或目录的特殊权限(就是刚刚chattr添加的那些),格式:lsattr [选项] [文件名或目录]

-a:连同隐藏文件一起列出(类似于ls -a) -R:连同子目录的数据一起列出

文件搜索相关:

先说明一下linux中各个时间代表什么:

atime:access time的缩写,是读取或者执行文件时更改的

ctime:change time的缩写,是写入文件、更改所有者、权限与链接时随着inode内容更改而更改的

mtime:modified time的缩写,随着写入文件时内容的更改而更改

which:搜索可执行文件的绝对路径,格式:which [命令]

whereis:通过预先生成的文件表查询文件,格式:whereis [选项] [文件名]

-b:只查找二进制文件 -m:只查找帮助文件(man命令) -s:只查找源代码文件

locate:类似于whereis,使用updatedb更新搜索库,格式:locate [文件名]

find:作用如其名,在指定目录下查找文件,格式:find [路径] [参数]

-atime +n/-n:访问或执行时间大于或小于n天的文件

-ctime +n/-n:写入更改inode属性时间大于或小于n天的文件

-mtime +n/-n:写入时间大于或小于n天的文件

-name [文件名]:直接搜索文件名

-type [文件类型]:直接搜索文件类型

用户相关:

groupadd:添加用户组,格式:groupadd [选项] [组名字]

groupdel:删除用户组,格式:groupdel [选项] [组名字]

useradd:添加用户,格式:useradd [选项] [用户名]

userdel:删除用户,格式:userdel [选项] [用户名]

-m:在/home/目录下创建用户目录 -M:不创建用户目录

-g:指定用户组 -u:指定用户ID

创建了用户以后一定要记得执行passwd给用户加个密码!

直接进入账户输入passwd或者通过root账户使用passwd [用户名] [密码]


目前就先写到这里,后面还有网络监控netstat和硬件查看等内容,实在是过多我就分开几部分来记吧,希望下一篇就能搞定全部!

感谢你能看到这里!希望这篇文章能对你有所帮助,下面按照老传统,继续放出参考资料:

《跟阿铭学Linux 第四版》人民邮电出版社

这本书还是很有用的!阿铭通过自己丰富的运维经验简单易懂的解释了各个命令的作用,还有从头开始教你如何安装Linux虚拟机等等,真的巨好用的一本书!


Linux云服务器——Bash Shell学习笔记 (2)
http://www.kirisamkekano.com/2021/12/07/linux云服务器-bash-shell学习笔记-2/
作者
Ame
发布于
2021年12月7日
许可协议