一、学习Linux基础遇到的问题
-
adduser 和 useradd 的区别:
useradd 只创建用户,不会创建用户密码和工作目录,需要用passwd命令来设置密码。adduser 在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。 -
怎么批量添加用户
-
crontab命令的使用&vim编辑器的使用
创建一个任务计划首先使用:crontab -e
,之后会选择进入vim编辑器。进入vim编辑器后也遇到了一些问题,后经查阅vim编辑器用法,在vim中添加命令语句要首先按i键进入插入编辑模式,在完成编辑后键入:wq保存退出vim。在vim中编写任务计划的过程中,遇到的最大问题就是不熟悉crontab的格式,需牢记格式:
-
vim打开多个文件同时编辑
vim -o filename1 filename2 filename3
例如:vim -o fun.h fun.c test.c
多个文件之间的切换可以使用ctrl+w+w
关闭文件:输入q+回车;关闭多个文件:输入qa+回车 -
chmod命令的执行
在学习到chmod命令执行的时候,chmod命令的使用有两种使用方法:一是二进制数表示法,二是加减赋值法。后者较为好理解,主要是二进制数表示法遇到了些问题,不知道chmod指令后面的几个数字代表的含义,经过阅读实验步骤了解到,首先,我们规定数字 4(2^2) 、2(2^1) 和1(2^0)表示读、写、执行权限,即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4 +1 = 5依此类推。
chmod的语法格式为:chmod (abc) file
其中,a,b,c各为一个数字,分别代表User、Group、及Other的权限,且此abc顺序不可改变,严格abc。以下是两个例子: -
设置所有人可以读写及执行
chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file)
- 设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于 chmod u=rw,g=---,o=--- file)
- sort命令参数含义和使用
语法
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][–help][–verison][文件][-k field1[,field2]]
参数说明:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-u 意味着是唯一的(unique),输出的结果是去完重了的。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
–help 显示帮助。
–version 显示版本信息。 [-k field1[,field2]] 按指定的列进行排序。
实例学习:假设当前已有文件system.txt,内容如下:其中空白部分为单个制表符。
[root@linuxidc tmp]# cat system.txt
1 mac 2000 500
2 winxp 4000 300
3 bsd 1000 600
4 linux 1000 200
5 SUSE 4000 300
6 Debian 600 200
(1).不加任何选项时,将对整行从第一个字符开始依次向后直到行尾按照默认的字符集排序规则做升序排序。
[root@linuxidc tmp]# sort system.txt
1 mac 2000 500
2 winxp 4000 300
3 bsd 1000 600
4 linux 1000 200
5 SUSE 4000 300
6 Debian 600 200
由于每行的第一个字符1<2<3<4<5<6,所以结果如上。
(2).以第三列为排序列进行排序。由于要划分字段,所以指定字段分隔符。指定制表符这种无法直接输入的特殊字符的方式是$'\t'。
[root@linuxidc tmp]# sort -t $'\t' -k3 system.txt
4 linux 1000 200
3 bsd 1000 600
1 mac 2000 500
2 winxp 4000 300
5 SUSE 4000 300
6 Debian 600 200
结果中虽然1000<2000<4000的顺序是对了,但600却排在最后面,因为这是按照默认字符集排序规则进行排序的,字符6大于4,所以排最后一行。
(3).在对第3列按数值排序规则排序的基础上,使用第2列的第2个字符作为决胜属性,且以默认排序规则对此列升序排序。
[root@linuxidc tmp]# sort -t $'\t' -k3n -k2.2,2.2 system.txt
6 Debian 600 200
4 linux 1000 200
3 bsd 1000 600
1 mac 2000 500
2 winxp 4000 300
5 SUSE 4000 300
其中"-k2.2,2.2"表示从第2个字段的第2个字符开始,到第2个字段的第2个字符结束,即严格限定为第2个字段第2个字符。如果需要对此字符降序排序,则"-k2.2,2.2r"。