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虚拟机等等,真的巨好用的一本书!