CentOS7 / Ubuntu常用命令大全

前段时间对CentOS 7.6进行初体验,我之前使用ubuntu的,前段时间接触了一台centos的服务器,发现很多命令都和ubuntu相同的,这里就记录了下来,以防很少用忘记了

主要叙说Centos7的命令,和Ubuntu相同的命令就不列出来了。

常用命令

文件与目录操作:

命令 解析
cd /home 进入 ‘/home’ 目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd - 返回上次所在目录
cp file1 file2 将file1复制为file2
cp -a dir1 dir2 复制一个目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录(.代表当前目录)
ls 查看目录中的文件
ls -a 显示隐藏文件
ls -l 显示详细信息
ls -lrt 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)
pwd 显示工作路径
mkdir dir1 创建 ‘dir1’ 目录
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
mv dir1 dir2 移动/重命名一个目录
rm -f file1 删除 ‘file1’
rm -rf dir1 删除 ‘dir1’ 目录及其子目录内容

查看文件内容:

命令 解析
cat file1 从第一个字节开始正向查看文件的内容
head -2 file1 查看一个文件的前两行
more file1 查看一个长文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
tail -3 file1 查看一个文件的最后三行
vi file 打开并浏览文件

文本内容处理:

命令 解析
grep str /tmp/test 在文件 ‘/tmp/test’ 中查找 “str”
grep ^str /tmp/test 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行
grep [0-9] /tmp/test 查找 ‘/tmp/test’ 文件中所有包含数字的行
grep str -r /tmp/* 在目录 ‘/tmp’ 及其子目录中查找 “str”
diff file1 file2 找出两个文件的不同处
sdiff file1 file2 以对比的方式显示两个文件的不同
vi file 操作解析i进入编辑文本模式Esc退出编辑文本模式:w保存当前修改:q不保存退出vi:wq保存当前修改并退出vi

查询操作:

命令 解析
find / -name file1 从 ‘/’ 开始进入根文件系统查找文件和目录
find / -user user1 查找属于用户 ‘user1’ 的文件和目录
find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件
find /usr/bin -type f -atime +100 查找在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 查找在10天内被创建或者修改过的文件
locate *.ps 寻找以 ‘.ps’ 结尾的文件,先运行 ‘updatedb’ 命令
find -name ‘*.[ch]’ | xargs grep -E ‘expr’ 在当前目录及其子目录所有.c和.h文件中查找 ‘expr’
find -type f -print0 | xargs -r0 grep -F ‘expr’ 在当前目录及其子目录的常规文件中查找 ‘expr’
find -maxdepth 1 -type f | xargs grep -F ‘expr’ 在当前目录中查找 ‘expr’
rpm -qa | grep <关键字> 按关键词查询软件
rpm -qa
列出全部软件
which xxx 查询出命令的绝对路径;
ps -e | grep ssh 查看软件是否运行

压缩、解压:

命令 解析
bzip2 file1 压缩 file1
bunzip2 file1.bz2 解压 file1.bz2
gzip file1 压缩 file1
gzip -9 file1 最大程度压缩 file1
gunzip file1.gz 解压 file1.gz
tar -cvf archive.tar file1 把file1打包成 archive.tar(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数)
tar -cvf archive.tar file1 dir1 把 file1,dir1 打包成 archive.tar
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 把压缩包释放到 /tmp目录下
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 dir1 把文件和目录压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式的压缩包到当前目录
unzip test.zip -d /tmp/ 解压一个zip格式的压缩包到 /tmp 目录

yum安装器(centos7):

命令 解析
yum -y install [package] 下载并安装一个rpm包
yum localinstall [package.rpm] 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系
yum -y update 更新当前系统中安装的所有rpm包
yum update [package] 更新一个rpm包
yum remove [package] 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search [package] 在rpm仓库中搜寻软件包
yum clean [package] 清除缓存目录(/var/cache/yum)下的软件包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件
yum list installed | grep ssh 查看一个软件是否安装

rpm安装器(centos7):

命令 解析
rpm -q samba 查询程序是否安装
rpm -ivh samba-3.0.10-1.4E.i386.rpm 安装显示安装进度
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm 指定安装目录
rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm 用来检查依赖关系;并不是真正的安装;
rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm 新版本降级为旧版本
rpm -qa | grep httpd [搜索指定rpm包是否安装]–all搜索httpd
rpm -ql httpd [搜索rpm包]–list所有文件安装目录
rpm -qpi Linux-1.4-6.i368.rpm [查看rpm包]–query–package–install package信息
rpm -qpf Linux-1.4-6.i368.rpm [查看rpm包]–file
rpm -qpR file.rpm [查看包]依赖关系
rpm -Uvh file.rpm [升级一个rpm]–upgrade
rpm -e file.rpm [删除一个rpm包]–erase

apt/apt-get安装器(Ubuntu):

命令 解析
apt-get install [package] 下载并安装apt包
apt-get update 更新软件包信息库
apt-get upgrade 更新所有已安装的软件包
apt-get remove packagenam 卸载已安装软件包(保留配置文件)
apt-get –purge remove package_name 卸载已安装软件包(不保留配置文件)
apt-get autoremove packagename 卸载已安装软件包(卸载依赖软件)
apt-get autoclean 删除已卸载软件的安装包
apt-get clean 删除已卸载和已安装软件的安装包
apt-get source package_name 下载软件包的的源码版本
apt list 列出当前系统中安装的所有包

dpkg安装器(Ubuntu):

命令 解析
dpkg -i <.deb file name> 安装软件
dpkg -L [package] 列出与该包先关联的文件
dpkg -l package 显示包的版本
dpkg -r package 移除软件(保留配置)
dpkg -P package 移除软件(不保留配置)
dpkg -s package 查找包的详细信息
dpkg -c package.deb 列出deb包的内容
dpkg –unpack package.deb 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容
dpkg –configure package 配置包
dpkg -l | gerp ssh 查看一个软件是否安装

网络相关:

命令 解析
ifconfig eth0 显示一个以太网卡的配置
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置网卡的IP地址
ifdown eth0 禁用 ‘eth0’ 网络设备
ifup eth0 启用 ‘eth0’ 网络设备
iwconfig eth1 显示一个无线网卡的配置
iwlist scan 显示无线网络
ip addr show 显示网卡的IP地址

系统相关:

命令 解析
su - 切换到root权限(与su有区别)
shutdown -h now 或 poweroff 关机
shutdown -r now 或 reboot 重启
top 罗列使用CPU资源最多的linux任务 (输入q退出)
pstree 以树状图显示程序
man ping 查看参考手册(例如ping 命令)
passwd 修改密码
df -h 显示磁盘的使用情况
cal -3 显示前一个月,当前月以及下一个月的月历
cal 10 1988 显示指定月,年的月历
date –date ‘1970-01-01 UTC 1427888888 seconds’ 把一相对于1970-01-01 00:00的秒数转换成时间

Vim编辑器常用命令

1、Vim的6种基本模式

  1. 普通模式
    在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。
  2. 插入模式
    在这个模式中,大多数按键都会向文本缓冲中插入文本。大多数新用户希望文本编辑器编辑过程中一只保持这个模式。
    在插入模式中,可以按ESC键回到普通模式。
  3. 可视模式
    这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim的“文本对象”也能和移动命令一样用在这个模式中。
  4. 选择模式
    这个模式和无模式编辑器的行为比较相似(Windows标准文本控制的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。
  5. 命令行模式
    在命令行模式可以输入会被解释成并执行的文本。在执行命令后,Vim返回到命令模式之前的模式,通常是普通模式。
  6. Ex模式
    这和命令行模式比较相似,在使用:visual命令离开Ex模式前,可以一次执行多条命令。
    这其中我们常用到就是普通模式、插入模式和命令行模式。

2、模式的切换

在刚进入Vim时,便进入了普通模式,在普通模式中可以按i(插入)或者a(附加)进入插入模式,在普通模式中按:进入命令行模式;在命令行模式中和插入模式中按ESC返回到普通模式。如图:

20191231165703808

3、常用命令及说明

普通模式的命令

按Esc进入普通模式,在该模式下的各种命令如下(有点多):

命令 说明
h 左移
I 右移
j 下移
k 上移
w 移动到下一个单词的开头
e 移动到当前单词的结尾
b 移动到上一个单词的开头
ge 移动到前一个单词的结尾
^ 移动到行头
$ 移动到行尾
f<字母> 向后搜索<字母>并跳转到第一个匹配的位置
F<字母> 向前搜索<字母>并跳转到第一个匹配的位置
t<字母> 向后搜索<字母>并跳转到第一个匹配位置之前的字母
T<字母> 向前搜索<字母>并跳转到第一个匹配位置之后的字母
shift+zz 退出vim
x 删除游标所在的字符
3x 删除3个连续字符,以此类推
X 删除游标所在的前一个字符
Delete 同x
dd 删除整行
2dd 向下删除2行,以此类推
dw 删除一个单词(不适用中文)
daw(delete a word) 删除一个单词
dnw(n替换为相应数字) dnw(n替换为相应数字)
d$或D d$或D
d^ 删除至行首
dG 删除到文档结尾处
d1G 删除到文档结尾处
.(小数点) 重复上一次的命令操作
gg 游标移动到第一行
G 游标移动到最后一行
nG 游标移动到第n行(如果默认没有显示行号,请先进入命令行模式,输入:set nu以显示行号)
Ctrl+o 快速回到上一次(跳转前)光标所在位置
yy 复制游标所在的整行

插入模式的命令

在普通模式下使用下面的键将进入插入模式,并可以从相应的位置开始输入。注意每次要先回到普通模式才能切换成以不同的方式进入插入模式。

命令 说明
i 在当前光标处进行编辑
I 在行首插入
A 在行末插入
a 在光标后插入编辑
o 在当前行后插入一个新行
O 在当前行前插入一个新行
cw 替换从光标所在位置到一个单词的结尾字符


命令行模式的命令

命令 说明
:q! 强制退出vim,不保存
:q 退出vim
:wq! 强制保存并退出vim
:w <文件路径> 另存为
:saveas <文件路径> 另存为
:x 保存并退出vim
:wq 保存并退出vim
:set nu 保存并退出vim
:set shiftwidth=10 设置缩进为10个字符,以此类推(输入Esc回到普通模式,再次尝试>>看缩进是否变化)
:ce(center) 本行内容居中
:ri(right) 本行内容居右
:le(left) 本行内容居右

20200103173058409