linux命令的学习
1.创建一个目录
常用命令有150个。
- mkdir make directorys创建目录 ---> mkdir /date
- ls list(列表) 列表目录文件 ls -ld /date 查看date目录下目录文件,不加目录就是当前目录 -l(long)长格式 -d(directorys)查看目录
- cd change directory 改变目录路径 eg: cd /etc
- 绝对路径
- windows绝对路径
- linux绝对路径 :必须从"/"开始
- 相对路径
- bucongtoukaishid
- 绝对路径
- pwd print work directory 打印工作目录(现实当前所在路径)
2.在linux创建一个目录
- touch 创建文件或更新时间戳,如果文件存在,我就只更新时间戳。
3.在文件下面增加一段文字
I am studying Linux.
1. 执行 vi oldboy.txt进入文档编辑模式
2. 然后按'i'或"o"或'a',进入INsert模式
3. 输入完毕后,按"ESC",选择"wq"退出。 wq: write quit q:退出,不保存
~vim 复杂编辑器(必须学会一个)~
echo 打印输出内容,配合'>','>>'可以为文件覆盖或者追加内容,还有一个较为复杂不常用的类似命令为'printf'
echo '111
222
333' >> oldgirl.txt
特殊符号:
* >或1> 输出重定向:把前面输出的东西覆盖文件,会清楚原文件的内容
* >>或1>> 输出追加重定向:把前面输出的东西追加给文件,不会清楚
* 0<或< 输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名
[root@linuxhua data]# echo 1 2 3 4 >1.txt
[root@linuxhua data]# cat 1.txt
1 2 3 4
[root@linuxhua data]# xargs -n 2 <1.txt
1 2
3 4
* 0<<或<< 输入追加重定向 :追加
red是一个pair ,首位标识
[root@linuxhua data]# cat 1.txt
[root@linuxhua data]# cat >>1.txt <<red
> hauhua
> is broken why?
> red
[root@linuxhua data]# cat 1.txt
hauhua
is broken why?
[root@linuxhua data]# echo yesornot 1>1.txt 2>2.txt
[root@linuxhua data]# cat 1.txt
yesornot
[root@linuxhua data]# cat 2.txt
执行正确、错误信息存放在2个文件中
[root@linuxhua data]# echo yesornot 1>1.txt 2>2.txt
[root@linuxhua data]# cat 1.txt
yesornot
[root@linuxhua data]# cat 2.txt
[root@linuxhua data]# cho error >1.txt 2>2.txt
[root@linuxhua data]# cat 2.txt
执行正确、错误信息都存在一个文件中
[root@linuxhua data]# echo error to one file &>1.txt
[root@linuxhua data]# cat 1.txt
error to one file
[root@linuxhua data]# ech add something &>>1.txt
[root@linuxhua data]# cat 1.txt
error to one file
bash: ech: command not found...
* cat:concatenate files and print on the standard output
4. 把oldboy.txt文件拷贝到/tmp下
* cp copy 拷贝文件或者目录,不加参数时,只能拷贝文件
如果想加目录拷贝,必须加 -r
4.把/data 目录移动到/root下
mv /data /root/
[root@linuxhua /]# dir
bin data etc lib media opt root sbin sys usr
boot dev home lib64 mnt proc run srv tmp var
[root@linuxhua /]# dir /root
anaconda-ks.cfg initial-setup-ks.cfg
[root@linuxhua /]# mv /data /root
[root@linuxhua /]# dir
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@linuxhua /]# dir root
anaconda-ks.cfg data initial-setup-ks.cfg
[root@linuxhua /]#
6. 进入root目录下的data进行删除操作
rm: remove 移动文件或者目录
[root@linuxhua data]# rm /root/data
rm: cannot remove ‘/root/data’: Is a directory
[root@linuxhua data]# rm 1.txt
rm: remove regular file ‘1.txt’? yes
[root@linuxhua data]# dir
20200210.txt 2.txt oldgirl.txt red 的用法
[root@linuxhua data]# rm red
rm: remove regular empty file ‘red’? yes
[root@linuxhua data]# rm 的用法
rm: remove regular file ‘的用法’? yes
[root@linuxhua data]# dir
20200210.txt 2.txt oldgirl.txt
[root@linuxhua data]#
-f 强制删除
-fr 强制删除,可删除目录
find:五星级命令 查找
-type 文件类型
[root@linuxhua /]# find /root/data -type f -exec rm {} \;
[root@linuxhua /]# dir /root/data
[root@linuxhua /]# cd /root/data
[root@linuxhua data]# touch temprmflie.txt
[root@linuxhua data]# find /root/data -type f -name temprmflie.txt -exec rm {} \;
[root@linuxhua data]# touch 1.txt 2.txt 3.txt
[root@linuxhua data]# dir
1.txt 2.txt 3.txt
[root@linuxhua data]# find /root/data -type f -name '*.txt'
/root/data/1.txt
/root/data/2.txt
/root/data/3.txt
[root@linuxhua data]# find /root/data -type f -name '*.txt'|xargs rm
[root@linuxhua data]# dir
- 管道 ---------> '|'
删除 data下类型为文件、名字为'*.log'、修改事件为'15天前'的文件
[root@linuxhua data]# find /root/data -type f -name '*.log' -mtime +15 |xargs rm -f
删除目录
[root@linuxhua data]# find /root/data -type d -name '*.log' -mtime +15 |xargs rm -rf