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 |
|
查询操作
命令 | 解析 |
---|---|
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 使密码失效 |
userdel 删除用户 | -r 用户文件一并删除 |
chage [-ldEImMW] 账号名 | 修改用户密码的相关属性 |
-l 列出该账号的详细密码参数; |
usermod [-cdegGlsuLU] username | 修改用户的相关属性 |
-c 后面接账号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些账号的说明。 |
id [username] | 查看用户相关的id信息,还可以用来判断用户是否存在 | |
groups 查看登陆用户支持的群组, 第一个输出的群组为有效群组 | |
groupadd [-g gid] 组名 | 添加组 | -g 设定添加组的特定组id |
groupmod [-g gid] [-n group_name] 群组名 | 修改组信息 |
-g 修改既有的 GID 数字 |
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参数会列出全部的信息名称。 杀死进程: # kill 12345 强制杀死进程:# kill -KILL 123456 彻底杀死进程:# kill -9 123456 |
crontab | 定时任务调度 |
选项: |
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 中直接按 / 即可进入快速搜索状态。
网站链接和图片可直接拖放到桌面或者目录,可以马上下载。
直接将文件管理器中的文件拖到终端中就可以在终端中得到完整的路径名。