1. Linux操作系统命令格式
命令语法:命令 [参数选项] [文件或路径]
例1:
命令 | 参数选项 | 文件或路径 |
---|---|---|
rm | -f | /etc/hosts |
Tips:
1、中括号 [] 表示可选,即命令的参数及路径文件是可选的。
2、参数选项表示使用一个命令的不同功能。
3、命令与参数之间必须有个空格、参数与文件或路径之间必须有个空格(完整路径不带空格)。
4、如果命令要使用多个参数,可以在参数后面连写。
2. 入学前考试题解答
2.1 创建一个目录/data
命令:
mkdir /data
或 cd / ;mkdir data
Tips:
英文make directorys缩写后就是mkdir,这就是创建目录的命令。使用分号可以在一行内分割两个命令。
2.2 在/data下面建立oldboy.txt文件
命令:
方法1、touch /data/oldboy.txt
方法2、echo >/data/oldboy.txt
方法3、>/data/oldboy.txt
2.3 为上文的oldboy.txt增加内容为”I am studying linux.”
解答:
方法1、[root@Kali day1]# cat >>./test.txt<<EOF
> I am studying linux.
> EOF
方法2、[root@Kali ~]# echo “I am studying linux.”>/data/oldboy.txt
方法3、vim oldboy.txt 进入vim编辑器(默认为命令模式),输入a或i进入编辑模式,
在里面输入 I am studying linux. ,后按键盘上的ESC退出到vim编辑器的命令模式,
最后输入:wq保存并退出。
2.4 把oldboy.txt文件拷贝到/tmp目录下
解答:
[root@Kali oldboy]#cp oldboy.txt /tmp/
[root@Kali oldboy]# ls
oldboy.txt
2.5 把/data目录移动到/root下
解答:
[root@Kali ~]# mv /data /root/
[root@Kali ~]# ls
anaconda-ks.cfg data install.log install.log.syslog
TIPS:如果希望带目录拷贝,进来不要mv /data/ /root/, 移动目录时,源目录结尾不要多余斜线。
虽然此处是可以的,但我们要养成良好的规范和习惯。
2.6 进入root目录下的data目录,删除oldboy.txt
解答:
[root@Kali data]# cd /root/data/
[root@Kali data]#ls
oldboy.txt
[root@Kali data]#rm oldboy.txt -f
[root@Kali data]#ls
总结:在生产环境中,尽量不要使用此命令,就算使用也要先提前做好备份,
最好是使用mv命令代替。
2.7 已知文件test.txt内容为如下,请给出打印test.txt内容时,不包含oldboy字符串的命令。
test
liyao
oldboy
解答:
[root@Kali data]# grep -v "oldboy" test.txt
test
liyao
3. 特殊符号
或1> 输出重定向:把前面输出的东西输入到后边的文件中,会清除文件原有内容。
例1:
[root@Kali day1]#cat test.txt
I am studying linux.
[root@Kali day1]#echo "oldboy">test.txt
[root@Kali day1]#cat test.txt
oldboy或1>> 追加输出重定向:把前面输出的东西追加到后边的文件尾部,不会清除文件原有内容。
例2:
[root@Kali day1]#cat test.txt
I am studying linux.
[root@Kali day1]#echo "oldboy">>test.txt
[root@Kali day1]#cat test.txt
I am studying linux.
oldboy
0<或< 输入重定向:输入重定向用于改变命令的输入,后面指定输入的内容,前面跟文件名。
例3:
[root@Kali day1]# cat oldboy.txt
oldboy
[root@Kali day1]# cat >oldboy.txt <<EOF
I am Linux
EOF
[root@Kali day1]# cat oldboy.txt
I am Linux
例4:
[root@Kali day1]# cat test.txt
1 2 3 4
[root@Kali day1]# xargs -n 2 <test.txt
1 2
3 4
2<<或<< 追加输入重定向:后跟字符串,用来表示 “输入结束”,也可用ctrl+d来结束输入。
例5:
[root@Kali day1]# cat test.txt
hello I am is weitianwu
[root@Kali day1]# cat >>test.txt <<EOF
> Hi I am oldboy
> EOF
[root@Kali day1]# cat test.txt
hello I am is weitianwu
Hi I am oldboy
2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。
例6:
[root@Kali day1]# cat error.log
-bash: admind: command not found
[root@Kali day1]# abcdfef 2>>error.log
[root@Kali day1]# cat error.log
-bash: abcdfef: command not found
2>> 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。
例7:
[root@Kali day1]# cat error.log
-bash: admind: command not found
[root@Kali day1]# xcjmoidsafjnowdg 2>>error.log
[root@Kali day1]# cat error.log
-bash: admind: command not found
-bash: xcjmoidsafjnowdg: command not found
总结:
- 箭头的指向就是数据的流向
- 数组说明:
2.1 标准输入(stdin);代码0,使用<或<<。数据流向从右向左。
2.2 标准正常输出(stdout): 代码为1,使用>或>>。数据流从左向右。
2.3 标准错误输出(stderr): 代码为2,使用2>或2>>。
技巧扩充:把命令执行成功的结果放到a.txt,失败放到b.txt.
例1:命令成功执行
[root@Kali day1]# echo "oldboy" 1>a.txt 2>b.txt
[root@Kali day1]#cat a.txt
oldboy
例2:命令执行失败
[root@Kali day1]# cho "oldboy" 1>a.txt 2>b.txt
[root@Kali day1]#cat b.txt
-bash: cho: command not found
符号 | 作用 | 符号 | 作用 |
---|---|---|---|
> 1> |
输出重定向符,重定向内容到文件,清除已有的内容,然后加入新内容,如果文件不存在还会创建文件 | .或./ | 一个点好是当前目录 其它功能,正则,任意单个字符 |
>> 1>> |
追加输出重定向符,>>追加内容到文件(中间无空格),筐里有一堆苹果了,在加一个苹果,不同的是把苹果放在筐里最下面。 | ..或../ | 两个点号是当前目录的上级目录 |
< 0< |
输入重定向符。 xargs -n 2 <oldboy.txt |
/ | 所有目录的顶点,也是路径的分隔符 |
<< 0<< |
追加输入重定向符 | ; | 命令的分隔符 |