命令的默认行为:
ls列出当前目录下的文件(不详细)
pwd写出当前工作目录
su切换到根用户(会要求输入口令)
cd默认切换到用户主目录
三种联机文档
man ls联机帮助页一屏一屏显示ls命令的使用方式
info ls注:info使用前必须先安装信息帮助页
apropos keywords如apropos gzip会分行列出与gzip命令相关的命令,不只是名字包含gzip,命令内容相关的也会一起显示出来注:和whereis一起
例:找某个文件gunzip的安装包,先apropos gzip,然后根据显示,寻找文件位置whereis gunzip
注:apropos命令不能使用时,先执行命令catman -w,然后再使用apropos
元字符和正则表达式
正则表达式需要相关工具的支持,如vi,awk,元字符一般用在文件名字的搜索,例如ls *.txt
三个通配符:
?匹配任意单个字符 注:正则表达式中.表示单个字符
* 匹配任意一个或多个字符
[] 匹配[]中的任意一个字符
ls help?ls myprog.[of]ls *ls help*ls *.t[ex]*
注:如果通配符的第一个和最后一个字符都为*,那么所得结果比期望更多,因为这个搜索还将定位临时文件和系统文件
输入输出冲重定向
输入注:箭头指向谁输入到哪个位置
注:ls > lsoutfile重定向输入到文件lousfile中,如果文件不存在,会进行创建,所以不能用来判断文件是否存在
判断程序是否发生错误:先执行filename 2 > errfile,判断errfile文件是否存在,如果不存在,则程序没有发生错误。
sort terms-alpha把term文件中的内容排序然后输入到terms-alpha文件中
管道| 一个命令的输出作为另一个命令的输入
注:第二个命令只有一个输入选项或是只有一个选项没有参数
例:列出file文件中第7行和第8行(file文件共30行)head -n 8 file | tail -n 2
命令置换:将一个命令的输出作为另一个命令的输入
两种方式:ls$(pwd)和ls `pwd`相同命令在子进程中进行,不能共享父shell中的某些特殊环境配置,如PATH、自定义全局变量
但是ls$不同,命令在当前进程中进行,不需要产生子进程
操作文件和目录
ls
cd
操作文件
cat 可将多个文价合并为一个新文件
cat file1 file2 file3 >>newfile注:使用的为>>
more/less
mv
cp
rm
touch
wc 确定特定文件长度,三个选项-c(字符数),-l(行数),-L(最长一行的长度)
文件所有权(区分文件所有者和文件创建者之间的区别)
文件所有权,要么由文件创建者拥有,要么由root用户修改
root用户能够使用chown改变文件所有者,无论他是否创建了该文件
chown Jane /home/bill/billfille把/home/bill/billfille文件所有权交于Jane
用户名与UID:
每个用户都有一个对应的唯一的UID;
在chown命令中可以用UID替换用户名
组:
每个组都有一个唯一的GID;
根用户可以将用户添加到多个组中;
可以将文件所有权从一个组移到另一个组。
chgroup groupname filename
文件权限
简单地说,就是3类人(所有者、组、其他人)对应3种权限(读、写、执行)。
umask 022 umask为没有的权限的值
所有新创建的文件多有权限644(666-022)
目录为755(777-022)
注:文件和目录初始不同,文件为666,目录为777
注:
该命令(设计umask)的效果仅限于调用该命令的shell内,如果需要命令持续有效,将该命令保存到.profile(这是个隐藏文件)文件中。
执行一个文件需要步骤:
由文件所有者使用chmod授予执行者文件的执行权限;
将包含文件的目录的绝对路径加入到PATH中。这条不是必须的。
领取专属 10元无门槛券
私享最新 技术干货