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