Linux常用命令

Posted zailushang1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令相关的知识,希望对你有一定的参考价值。

一、文本编辑命令

VI可能是在Linux中使用比较频繁的文本编辑器,如果不能熟练使用VI,在一定程度上会影响工作效率,所以在这里记录一下VI的常用命令及操作方式

在[[email protected] ~]# 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
[[email protected] 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
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

 






































以上是关于Linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

Linux常用文件管理命令

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

C#常用代码片段备忘

常用python日期日志获取内容循环的代码片段