Linux常用命令
1 vi命令
1.1 进入文件进行编辑:vi file.txt
按键esc退出insert模式,然后按shift+: (shift+冒号键),然后输入wq,wq表示,保存并退出。如果只按键q,则是只退出不保存。
2 cat命令
1.2 cat file.txt:获取file.txt的信息
3 rm命令
3.1 删除文件:rm -f 文件名
3.2 删除文件夹:rm -rf \a\b\c.txt
-r 表示递归地删除文件夹及其内容,但是要逐个确认对子文件夹的删除
-f 表示强制删除,即不会提示确认
rm -rf 强制删除一个文件夹及其子文件夹
mv命令
重命名文件:mv old_file.txt new_file.txt
在linux下修改文件名称包括后缀
mv old_file.txt new_file.json
-f 强制覆盖
sed命令
sed -i function
sed命令是利用script来处理文本文件。
i :直接修改读取的文件内容,而不是输出到终端。
动作说明: [n1[,n2]]function
n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』
function:
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
举例
[root@www ~]# cat regular_express.txt
runoob.
google.
taobao.
facebook.
zhihu-
weibo-
利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !
[root@www ~]# sed -i 's/\.$/\!/g' regular_express.txt
[root@www ~]# cat regular_express.txt
runoob!
google!
taobao!
facebook!
zhihu-
weibo-
命令详解:https://blog.csdn.net/come11234/article/details/105705381
2 find查找文件
find 路径 -name 文件名
在/home/user目录下查找文件名后缀为’.cap’的文件,返回完整路径
find /home/user -name "*.cap" -type -f
>>> /home/user/file1.cap
-f表示普通文件
3 ls 查看文件信息
ls -l 查看文件详细信息
ls -l ${path} | awk '{print $5}'输出一行中的第五列
ls -A | wc -l 查看目录下的文件数量
4 stat 查看文件时间属性
查看文件修改信息:stat -c %y ${path}
-c :指定自定义格式代替默认的输出
%y:显示上次修改时间
Access:
Modify:
Change:
查看文件字节数:stat -c %s ${filename}
(注意换行符)
5 vim修改文件内容
6 echo
echo -n ‘你好,世界’ > aa.txt # >是文件重定向,会覆盖文件内容
echo -n ‘你好’ >> aa.txt # >>是在文件末尾加一行
-n用于禁止在字符串末尾输出换行符(这样会导致没有换行符,还是不要加吧)
上面的方法输入中文不行,会被自动忽略
用echo -e ‘\xE4\xBD\XA0’ > aa.txt
echo ' ' > aa.txt # 文件中有2个字节
echo -n ' ' > aa.txt # 文件中有1个字节
echo -n '' > aa.txt # 文件中有0个字节,等同于echo -n > aa.txt
write命令
write vim aa.txt
wirite i
write 中文
write \x1b # ASCII码的Esc键
write :wq # 保存并退出
7 cp拷贝文件
cp -rf /conf/hw/aa/old_file.txt /conf/hw/aa/new_file.txt
注意:cp 做不到强制覆盖,可以用这种方法:yes y | cp -i ${default_file_name} ${filename}
8 test测试
测试文件是否存在test -f /etc/fstab
-e File如果文件File存在(Exist),**则为**True
-s File如果文件File存在且文件大小(Size)大于正亩零迹清烂,则为True
-f File如果文件File存在且是普通文件(File),则为True
-d File如果文件File存在且是目录(Directory),则为True
-b File如果文件File存在且是块(Block)特殊文件,则为True
-c File如果文件File存在且是字符(Character)特殊文件,则为True
后还要搭配echo $?
如
[root@linuxforliuhj test]# test -e hellojava.txt
[root@linuxforliuhj test]# echo $?
1
[root@linuxforliuhj test]#
|是管道操作符,作用是将前一个命令的输出传递给后一个命令
yes 'A' | heads -n 3 | tr -d '\n'
yes 'A'会无限重复输出字符'A'
heads -n 3会从yes 'A'中截取指定行数
tr -d '\n'会删除输入中的换行符
mkdir命令
mkdir 文件夹 :创建文件夹
创建多级目录mkdir -p ${dir}
rmdir命令
rmdir 文件夹 :删除文件夹
删除多级目录 rm -rf ${dir}
ps -ef
输出所有进程的详细信息
ps -ef | grep dhcp 会筛选包含‘dhcp’字符串的行