一、文本编辑命令
VI可能是在Linux中使用比较频繁的文本编辑器,如果不能熟练使用VI,在一定程度上会影响工作效率,所以在这里记录一下VI的常用命令及操作方式
在[root@test ~]# vi carrie.txt ,进入vi的默认模式,在此模式下所有的用户输入都视为命令,如果vi打开的文本不存在,则在打开的目录下,自动新建一个文档。
(1)进入vi编辑模式
在vi的默认模式中,直接在界面中输入:
i 在光标所在位置开始编辑;
a 在光标所在位置的下一个位置开始编辑;
o 在光标所在行的下一行的开始编辑,并插入空白行;
esc 退出编辑,进入命令模式
(2)vi命令模式
光标定位
0 移动光标到行首
$ 移动光标到行尾
/carrie 从上往下开始查找包含carrie的内容,n跳到下一个;N跳到上一个,查找样式变为 ?carrie
? +查找内容 从下往上开始查找,n跳到上一个;N跳到下一个,查找样式变为 /carrie
撤销和重复
u 撤销上一个动作;
. 重复上一个动作;
复制 粘贴 删除(命令模式不显示)
nyy 复制光标所在的向下n行内容
p 在光标所在位置粘贴复制的内容
ndd 删除光标所在的向下n行内容
shift+g 到文件末尾
x 删除当前位置字符
dd 删除删除整行
复制 粘贴 删除(命令模式显示)
:set number 显示行号
:set nonu 取消显示行号
:1,3y 复制第一行到第三行
:1,3d 删除第一行到第三行
:1,3s/str/str_new/g 将第一行到第三行的str替换为str_new,如果一行有多个str都替换
:1,3s/str/str_new/ 将第一行到第三行的str替换为str_new,如果一行有多个,只替换第一个
:1,3g/str/d 删除第一行到第三行包含str字符串的行
(3)退出VI
:q 退出vi
:q! 不保存退出
:wq 保存退出
w 保存 ! 强制执行操作
(1)文件管理命令
ls、ls -l、ll、ls -a
ls -a 显示所有文件,包括隐藏文件
ls 列举指定目录下的子目录和文件
ls -l与ll相同 列举指定目录下的子目录和文件的详细信息
- total 56 代表当前目录下的文件大小总和为56K;
- 文件类型:“-”表示普通文件,“d”代表目录,“l”代表连接文件,“b”代表设备文件。
- 9个字符每3个为一组,分别代表文件所有者、文件所有者所在用户组、 其它用户对文件拥有的权限。每组中3个字符分别代表读、写、执行的权 限,若没有其中的任何一个权限则用“-”表示
- 紧接着的数字2代表 “b”这个目录下的目录文件数目
- 用户和组信息
- 文件大小
- 文件修改时间
- 文件/文件夹名
1
2
3
4
5
6
7
8
9
|
[root@test tmp]# ls -l total 56 -rw-r-----. 1 root root 21225 Sep 15 00:56 backup -rw-r--r--. 1 root root 250 Sep 15 01:24 backup.sh -rw-------. 1 root root 2199 Aug 21 23:46 bitrock_installer.log -rw-r--r--. 1 higkoo root 586 Sep 1 17:34 m_agent_daemonNyFyCC.log drwx------. 2 root root 4096 Sep 20 18:22 ssh-vaFIDa1108 -rw-r--r--. 1 root root 33 Sep 14 01:37 sss.txt -rw-r--r--. 1 root root 182 Sep 14 22:50 tomcat.sh |
alias 给命令器一个别名,例:alias rm=rm -rf,并且只生效一次。要多次生效,在/root/.bashrc文件中新别名
cd 改变当前的目录或者处理绝对目录的相对
cd回车:退到当前用户个人目录
cd / :退到最根目录
cd ../xx:退到上级目录的xx目录
cd .:停留在当前目录
cd .. :返回上级目录
cd –:回到上一次操作的目录
cd ~: 回到用户家目录
pwd 显示当前路径
cp 复制指定文件到另一文件或目录,例:cp -rf a.txt /tmp
-b:如果目的文件存在,就创造一个备份
-r:若源中有子目录,则将子目录下的文件及目录亦全部复制至目的目录
-i:若目的地有重复的文件,询问是否覆盖
-f:若目的地有重复的文件,则覆盖原有文件
mv 用来为文件或目录改名,或者将文件由一个目录移入另一个目录中,例:将/usr/local/tomcat下所有文件移动到 /tmp/tomcat下,mv /usr/local/tomcat/* /tem/tomcat
例:将a.txt改名为b.txt,mv a.txt b.txt
-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆 盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可 以避免误覆盖文件。
-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任 何指示,指定此参数后i参数将不再起作用。
rm 用来删除文件或目录,例:删除/tmp/logs下所有文件,rm -rf /tmp/logs/*,*表示删除当前目录下所有内容
-r:删除目录及子目录,目录下如果有子目录及文件也会被删除
-f:不询问直接删除
mkdir 创建文件夹, mkdir -p /usr/tmp/carrie,创建名字为carrie的文件夹,如果文件夹上级的父目录不存在,则创建父目录
cat 用于连接并显示指定的一个和多个文件的有关信息
tail 查看文件末尾内容,-f 动态读取
动态查看日志 tail -f err.log
查看末尾10行日志 tail -10f err.log
动态查看末尾5行日志 tail -5f err.log
ln 创建文件链接
Linux中,每一个文件都对应于文件系统上的唯一索引节点
硬链接
一个文件可以有多个文件名,每一个文件名都是一个硬链接,它们指向目 标文件所在文件系统中的索引节点,硬链接指向的是同一个物理位置,所以同一文件系统中的文件间才能建立硬链接
硬链接可以看做文件别名,所有硬链接都删除时,文件才被真正删除
目录不可以建立硬链接,否则目录遍历会陷入死循环
ln 源文件 硬链接目标文件
软连接
包含目标文件或目录的路径信息
软连接可以跨越文件系统,也可以连接目录
相当于Windows的快捷方式
ln -s 源文件 软连接目录或文件
du 文件和目录的磁盘使用空间
du -sh 显示文件和目录的磁盘使用情况,以MB为单位输出
df -h 显示磁盘分区的课使用的磁盘空间,以K,M,G为单位,提高可读性
losf 列出当前系统打开的文件
lsof -i :80 查询指定端口打开的文件
lsof -p pid 查询指定的pid打开的文件
chomd 给文件或文件或文件夹赋权限
-R 递归,主要用于一个目录,把这个目录下所有的文件/文件夹赋权限
数字方式:
d[rw-]当前用户[r--]所属组[r--]其他用户,
d---文件夹,r---读权限,w---写权限,x---执行权限
1
2
3
4
5
6
7
|
[root@test tmp]# ll total 56 -rw-r-----. 1 root root 21225 Sep 15 00:56 backup -rw-r--r--. 1 root root 250 Sep 15 01:24 backup.sh -rw-------. 1 root root 2199 Aug 21 23:46 bitrock_installer.log -rw-r--r--. 1 higkoo root 586 Sep 1 17:34 m_agent_daemonNyFyCC.log drwx------. 2 root root 4096 Sep 20 18:22 ssh-vaFIDa1108 |
文本方式:
u -- 该档案的拥有者;
g -- 与该档案的拥有者属于同一个群体(group)者;
o -- 其他以外的人;
a -- 所有
+ -- 增加权限
- -- 去掉权限
chown 改变文件所有者和所属组
注意:只有文件所有者和超级用户才能使用此命令
-R 递归处理,将指定目录下的所有文件及子目录一并处理
wc -l 统计行数
(2)搜索命令
| 管道符,吧前一个命令的结果给后一个命令
ps -ef 显示所有进程
grep 显示文件中的匹配行
-v 输出不包含改字段的行
-i 忽略大小写
-w 匹配指定字符 grep -w tmocat和grep tomcat的区别
find 查找目录下的文件
-name 文件名,可以跟通配符
find / -name carrie 在跟目录下查询文件名为carrie的文件
find / -name carrie* 在跟目录下查询文件名以carrie开头的文件
-ctime 天数,文件最后修改时间为置顶天数之前,负数表示之后
-user 用户名,属于用户的目录和文件
(3)归档压缩命令
zip [选项] 压缩文件名 需要压缩的文档列表
-r 递归压缩,将指定目录下的所有文件以及子目录全部压缩
unzip [选项] 压缩文件名
-o 解压时覆盖已经存在的文件,并且不要求用户确认
-d 目录名 把压缩文件解压到指定目录下
tar 文件打包
tar[参数] 目标文件 源目录或文件
-c:创建新文档
-x:解压缩归档文件
-f 文件名:使用归档文件
-z:使用gzip解压缩
-v:详细输出模式
tar zcvf test.tar test#压缩
tar zxvf test.tar #解压缩
(4)后台运行进程
后台运行:
在命令后加&,表示在后台运行,若终端关闭,则带&的后台命令一同关闭
nohup 命令 &,表示终端被关闭,后台进程继续运行
crontab定时任务
crontab –e 以编辑模式打开crontab配置文件。
crontab 文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。cmd表示要运行的程序,*代表每分钟都执行
示例:
* * * * * sh /opt/lampp/test.sh 表示每分钟执行一次test.sh这个脚本
*/5 * * * * sh /opt/lampp/test.sh 表示每5分钟执行一次test.sh这个脚本
30 21 * * * /usr/local/apache/bin/apachectl restart 表示每晚的21:30重启apache