linux_shell编程一些常犯错误及总结

1.rm指令一般只能删除文件,如果想删除目录,需要加 -r选项,有的可能还需要加-f。
2.rmdir只能用来删除空目录
3.mv可用来修改文件名字和文件夹名字,mkdir用来创建多级目录时需要加上-p选项。
4.查看文本内容有cat more less head tail
其中,cat会把所有的内容显示,加-n选项会显示行数
more只显示一页,会把余下的内容显示进度条,less集成more的功能,比more更强大
head是查看前几行代码 head -2 file
tail查看后几行代码,用tail -3 file
——————————–2018.09.05
5.history命令可以查看输入的历史命令,输入!和history编号会直接把对应编号的命令再次执行
6.which命令可以找到外部指令的位置,type可查看命令是需要外部命令还是内建命令,alias命令别名,需要配合环境变量使用,别名默认情况下只在当前所被定义的shell进程中才有效。
7.用printenv打印全局环境变量,set可打印局部环境变量,全局环境变量,用户自定义变量,并进行排序。echo显示变量,加一个 $标识符。
8.把一个局部变量转换成全局变量,在这个局部变量名字前加 export。所谓的全局变量只有当前进程和其子shell共享,如果在子shell定义了一个同名变量并对他的值进行修改,父shell的值不会发生改变,子shell的值则不是从父shell继承下来的值,而是当前修改过后的值。用unset删去环境变量也是同一个道理。在子shell程序中删去环境变量并不会影响父shell程序的值。
9.如果想把可执行文件按名称来输出的话,可把该文件的路径放在PATH环境变量里,在不改变原有PATH路径基础上,可通过赋值语句PATH=*$*PATH: 冒号后来接执行文件的路径,其中.表示当前路径。
10.变量可在初始化的时候用括号定义数组形式,显示变量的值时候,echo${test[*]}表示数组所有元素的值,echo ${test[索引号]}在用unset删去的某一个索引的时候,可是把这个索引的值给删除了,并不会让数组的个数减少。
—————————2018.09.06
11.参考当前系统下所有用户名 cat /etc/passwd ,useradd 添加用户。如果使用su切换用户时,显示su:认证错误,则表示当前用户没有root权限。首先sudo su root,然后把chmod u+w /etc/sudoers修改权限,vim /etc/passwd,在user prividge specifacation,仿照root另起一行。保存后 把chomod u-w /etc/sudoers权限修改回来。
12.参看当前组和组成员,cat /etc/group。将用户添加到特定组 ,sudo usermod -G 特定组名 欲加进来的用户名。
13.文件权限。一共十个字段,第一个表示当前文件是什么。
-代表文件
d代表目录
l代表链接
c代表字符型设备
b代表块设备
n代表网络设备
第二个字段表示当前对象的权限
第三个字段表示当前对象所属组的权限
第四个字段表示系统其他用户的权限
r代表可读,w代表可写,x代表可执行。
用chmod 改变文件权限时,有两种形式。
chmod 777 test.c ,将test.c权限设置为最高权限。
chmod u+w test.c ,将当前用户的权限再加一个“写” 其中u表示当前用户,g代表组,o代表其他用户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值