IT序号网

CentOS 7 常用命令集合知识解答

developer 2021年09月05日 程序员 148 0
本文章主要介绍了CentOS 7 常用命令集合,具有不错的的参考价值,希望对您有所帮助,如解说有误或未考虑完全的地方,请您留言指出,谢谢!

CentOS 7 常用命令集合

常用命令

热键操作

Tab按键---命令补齐功能

Ctrl+c按键---停掉正在运行的程序

Ctrl+d按键---相当于exit,退出

Ctrl+l按键---清屏

添加环境变量

echo "export PATH=$PATH:/opt/runtime/php/bin" >> ~/.bashrc
echo "export PATH=$PATH:/opt/runtime/composer" >> ~/.bashrc

source ~/.bashrc

修改终端命令提示符

# echo $PS1

可得到当前PS1的定义值:

PS1='[\u@\h \W]\$ '

PS1的常用参数以及含义:

  \d :代表日期,格式为weekday month date,例如:"Mon Aug 1"

  \H :完整的主机名称

  \h :仅取主机名中的第一个名字

  \t :显示时间为24小时格式,如:HH:MM:SS

  \T :显示时间为12小时格式

  \A :显示时间为24小时格式:HH:MM

  \u :当前用户的账号名称

  \v :BASH的版本信息

  \w :完整的工作目录名称

  \W :利用basename取得工作目录名称,只显示最后一个目录名

  \# :下达的第几个命令

  \$ :提示字符,如果是root用户,提示符为 # ,普通用户则为 $

修改.bashrc文件,永久保存命令行样式

# cd ~ 
# ll -a 
# vim .bashrc

加入这一行:

PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "

:qw保存退出,重新加载bash配置文件:

# source .bashrc

即可生效~!

文件与目录操作

命令 解析
cd 改变当前目录
cd /home 进入 ‘/home’ 目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd - 返回上次所在目录
cd 回车 返回主目录
cd / 返回根目录
cd ~ 进入用户主目录
cp [选项] 源文件或目录 目录或多个源文件 | 将源文件复制至目标文件,或将多个源文件复制至目标目录。
cp file1 file2 将file1复制为file2
cp -a dir1 dir2 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
cp -d file1 file2 复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
cp -f file1 file2 覆盖已经存在的目标文件而不给出提示。
cp -i file1 file2 与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
cp -p file1 file2 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
cp -r 或 -R test/ newtest 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
cp -s file1 file2 生成快捷方式
ls [选项] [目录名 | 列出相关目录下的所有目录和文件
ls 查看目录中的文件
ls -a 查看所有文件,包括隐藏文件
ls -A 通-a,但不列出"."和".."
ls -l 查看文件的详细信息
ls -c 根据ctime排序显示
ls -t 根据文件修改时间排序
ls -lrt 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)
pwd 查看当前所在路径
mkdir [选项] 目录… | 创建新目录
mkdir dir1 创建 ‘dir1’ 目录
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 递归创建目录,若父目录不存在则依次创建
mkdir -m 777 test 自定义创建目录的权限
mkdir -v test 显示创建目录的详细信息
rmdir 删除空目录
rmdir -v test 显示执行过程
rmdir -p aaa/test 若子目录删除后父目录(aaa)为空则一并删除
mv [选项] 源文件或目录 目录或多个源文件 | 移动或重命名文件
mv 文件1 文件2 将源文件名改为目标文件名,将文件 aaa 更名为 bbb,如果文件2已存在,会报错提示文件已存在
mv 文件1 目录2 将文件移动到目标目录,将文件 aaa 移动到 bbb 目录,如果目标目录不存在,则改名,aaa 改为 bbb
mv 目录1 目录2 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
mv 目录名 文件名 会出错
mv -b aaa bbb 覆盖前做备份,例如 mv -b aaa bbb, 则bbb文件改名为 bbb~ aaa变成bbb
mv -f aaa bbb 如存在不询问而强制覆盖(慎用!!)
mv -i 文件名 文件名 如存在则询问是否覆盖
mv -t 目录名 文件名1 文件名2 将多个源文件移动到统一目录下,目录参数在前,文件参数在后
rm [选项] 文件名 | 删除文件(文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。)
rm 文件名 删除某一个文件,系统提示是否删除某文件,输入 y 执行删除
rm 目录名 删除某个目录,不加任何参数,会报错。系统提示是一个目录
rm -i  删除前逐一询问确认。
rm -f  不给出系统提示,直接删除,即使是只读文件,一并删除。(慎用)
rm -r 将列出的目录及其子目录递归删除
rm -rf 目录名 删除该目录及其子目录内容,不给出任何提示(慎用)
du [选项] 目录名|文件名 显示目录或文件的大小
du -h 目录名 显示目录或文件的大小,以K,M,G为单位,提高信息的可读性。

查看文件内容

命令 解析
cat [-AbeEnstTuv] [--help] [--version] fileName
cat -n textfile1 > textfile2 把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
cat -n file1 编号文件内容再输出,带上行号
cat /dev/null > /etc/test.txt 清空 /etc/test.txt 文档内容
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’
whereis [-bmsu] [BMS 目录名 -f ] 文件名| 定位可执行文件、源代码文件、帮助文件在文件系统中的位置

压缩、解压

命令 解析
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安装器

命令 解析
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 删除所有缓存的包和头文件

网络相关

命令 解析
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 关机
shutdown -r now 重启
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的秒数转换成时间
users 显示当前登录系统地用户
who 登录在本机的用户与来源
last 查看用户的登陆日志
lastlog 查看每个用户最后的登陆时间
hostname 查看主机名
useradd [-u UID] [-g 初始群组] [-G 次要群组] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 使用者账号名 | 新增用户
passwd | 修改密码

-l 使密码失效
-u 与-l相对,用户解锁
-S 列出登陆用户passwd文件内的相关参数
-n 后面接天数,shadow 的第 4 字段,多久不可修改密码天数
-x 后面接天数,shadow 的第 5 字段,多久内必须要更动密码
-w 后面接天数,shadow 的第 6 字段,密码过期前的警告天数
-i 后面接『日期』,shadow 的第 7 字段,密码失效日期

userdel 删除用户  -r 用户文件一并删除
chage [-ldEImMW] 账号名 | 修改用户密码的相关属性

-l 列出该账号的详细密码参数;
-d 后面接日期,修改 shadow 第三字段(最近一次更改密码的日期),格式YYYY-MM-DD
-E 后面接日期,修改 shadow 第八字段(账号失效日),格式 YYYY-MM-DD
-I 后面接天数,修改 shadow 第七字段(密码失效日期)
-m 后面接天数,修改 shadow 第四字段(密码最短保留天数)
-M 后面接天数,修改 shadow 第五字段(密码多久需要进行变更)
-W 后面接天数,修改 shadow 第六字段(密码过期前警告日期)

usermod [-cdegGlsuLU] username | 修改用户的相关属性

-c 后面接账号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些账号的说明。
-d 后面接账号的家目录,即修改 /etc/passwd 的第六栏;
-e 后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个字段数据啦!
-f 后面接天数为 shadow 的第七字段。
-g 后面接初始群组,修改 /etc/passwd 的第四个字段,亦即是GID的字段!
-G 后面接次要群组,修改这个使用者能够支持的群组
-l 后面接账号名称。亦即是修改账号名称, /etc/passwd 的第一栏!
-s 后面接 Shell 的实际档案,例如 /bin/bash 或 /bin/csh 等等。
-u 后面接 UID 数字啦!即 /etc/passwd 第三栏的资料;
-L 冻结密码
-U 解冻密码

id [username] | 查看用户相关的id信息,还可以用来判断用户是否存在
groups 查看登陆用户支持的群组, 第一个输出的群组为有效群组
groupadd [-g gid] 组名 | 添加组 -g 设定添加组的特定组id
groupmod [-g gid] [-n group_name] 群组名 | 修改组信息

-g 修改既有的 GID 数字
-n 修改既有的组名

chgrp [组名] [文件名]
 修改所属文件群组
groupdel [groupname] | 删除群组
chown [用户名] [文件名] 改变文件的拥有者
chmod [权限] [文件名]

更改文件权限:

linux下每个文件都是按照读、写、执行 设定权限

rwx:4+2+1=7

10个字符代表权限例如:-rw-r--r--1

第一个字符代表文件(-)、目录(d)、链接(x)

其余三个一组:rwx、读(r)、写(w)、执行(x)

第一组:所有者u的权限

第二组:所属组g的权限

第三组:其他者o的权限

 
gpasswd | 群组管理员功能

root管理员动作:

-gpasswd groupname 设定密码

-gpasswd [-A user1,...] [-M user3,...] groupname

-A 将 groupname 的主控权交由后面的使用者管理(该群组的管理员)

-M 将某些账号加入这个群组当中

-gpasswd [-r] groupname

-r 将 groupname 的密码移除

群组管理员动作:

- gpasswd [-ad] user groupname

-a 将某位使用者加入到 groupname 这个群组当中

-d 将某位使用者移除出 groupname 这个群组当中

chfn修改个人信息
date [参数]… [+格式] | 显示或设定系统的日期与时间

%H 小时(以00-23来表示)。

%M 分钟(以00-59来表示)。

%P AM或PM。

%D 日期(含年月日)

%U 该年中的周数。

date -s “2015-10-17 01:01:01″ //时间设定

date +%Y%m%d //显示前天年月日

date +%Y%m%d --date="+1 day/month/year" //显示前一天/月/年的日期

date +%Y%m%d --date="-1 day/month/year" //显示后一天/月/年的日期

date -d '2 weeks' 2周后的日期

top [参数] | 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

-l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称。
-s <信息名称或编号>  指定要送出的信息。
[程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。

杀死进程: # kill 12345

强制杀死进程:# kill -KILL 123456

彻底杀死进程:# kill -9 123456

crontab | 定时任务调度

选项:
-u <user> 定义用户
-e 编辑用户的 crontab
-l 列出用户的 crontab
-r 删除用户的 crontab
-i 删除前提示
-n <host> 设置主机集群运行用户的 crontabs
-c 获取主机集群运行用户的 crontabs
-s selinux context
-x <mask> 启用调试

ifconfig [网络设备] [参数] | 查看和配置网络设备
ping [参数] [主机名或IP地址] | 测试与目标主机的连通性
rcp [参数] [源文件] [目标文件] | 远程文件拷贝

-r 递归复制

-p 保留源文件的属性

usage: rcp –r remote_hostname:remote_dir local_dir

wget [参数] [URL地址] | 直接从网络上下载文件

-o FILE 把记录写到FILE文件中 eg : wget -O a.txt URL

wget --limit-rate=300k URL 限速下载

uname -a 显示系统名,节点名,操作系统发行编号,操作系统版本,运行系统的机器编号ID
getconf LONG_BIT 查看当前操作系统是多少位
bc 调用计算器命令 +加 -减 *乘 /除 %取余 ^次方
 
 

XSheel 5相关操作

窗体快捷键

命令 解析
Ctrl + u 删除光标之前到行首的字符
Ctrl + k 删除光标之前到行尾的字符
Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a 光标移动到行首(ahead of line),相当于通常的Home键
Ctrl + e 光标移动到行尾(end of line)
Ctrl + f 光标向前(forward)移动一个字符位置
Ctrl + b 光标往回(backward)移动一个字符位置
Ctrl + l 清屏,相当于执行clear命令
Ctrl + r 显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
Ctrl + w 删除从光标位置前到当前所处单词(word)的开头
Ctrl + t 交换光标位置前的两个字符
Ctrl + y 粘贴最后一次被删除的单词
Ctrl + Alt + d 显示桌面
Alt + b 光标往回(backward)移动到前一个单词
Alt + d 删除从光标位置到当前所处单词的末尾
Alt + F2 运行
Alt + F4 关闭当前窗口
Alt + F9 最小化当前窗口
Alt + F10 最大化当前窗口
Alt + Tab 切换窗口
Alt + 左键 移动窗口(或在最下面的任务栏滚动鼠标滑轮)

操作小技巧

       鼠标中间键:粘贴突出显示的文本。(使用鼠标左键来选择文本。把光标指向想粘贴文本的地方。点击鼠标中间键来粘贴。)

       Tab:命令行自动补全。使用 shell 提示时可使用这一方式。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配键入字符的所有命令。

       在滚动条的空白处点击鼠标中键:屏幕即滚动到那个地方。

       在桌面或文件管理器中直接按 / 就可以输入位置,打开文件管理器。

       在 vi 或 Firefox 中直接按 / 即可进入快速搜索状态。

       网站链接和图片可直接拖放到桌面或者目录,可以马上下载。

       直接将文件管理器中的文件拖到终端中就可以在终端中得到完整的路径名。


发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

CentOS 7 目录结构,文件类型知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。