目录
vacuumdb命令 – 清理并优化PostgreSQL数据库
网卡配置信息:/etc/sysconfig/network-scripts/ifcfg-ens33
certreq 生成证书请求
-changealias 更改条目的别名
-delete 删除条目
-exportcert 导出证书
-genkeypait 生成密钥对
-genseckey 生成密钥
-gencert 根据证书请求生成证书
-importcert 导入证书或证书链
-importkeystore 从其他密钥库导入一个或所有条目
-keypasswd 更改条目的密钥口令
-list 列出密钥库中的条目
-printcert 打印证书内容
-printcertreq 打印证书请求的内容
-printcrl 打印CRL文件的内容
-storepasswd 更改密钥库的存储口令
参考实例
生成服务器证书文件,并设定相应有效期:
[root@linuxcool ~]# keytool -genkey -alias tomcat -keyalg RSA -keystore /etc/tomcat.keystore -validity 36500
导入一个证书:
[root@linuxcool ~]# keytool -import -keystore cacerts -storepass 666666 -keypass 888888 -alias linuxcoolcert -file C:\linuxcool\cert\test.cer
要删除证书库里面的指定证书:
[root@linuxcool ~]# keytool -delete -alias linuxcoolcert -keystore cacerts -storepass 666666
语法格式:rndc-confgen [参数]
常用参数:
-t<目录> 指定一个运行chroot目录,rndc.key文件的副本将被写入到该目录中
-s<IP地址> 为来自rndc的命令通道连接指定监听的IP地址。默认值是环回地址127.0.0.1
-c<密钥文件> 指定备用位置的rndc.key密钥文件
-b<密钥大小> 指定密钥的大小,单位是位。必须介于1和512位之间,默认值是128
-p<端口> 为来自rndc的连接指定监听的命令通道端口。默认值是953
-u<用户> 设置生成的rndc.key密钥文件的所有者
-r<随机文件> 指定用于生成授权随机数据源
-k<密钥名称> 指定rndc认证密钥的密钥名称
-a 自动rndc配置,创建密钥文件/etc/rndc.key
参考实例
为rndc生成配置文件/etc/rndc.conf:
[root@linuxcool ~]# pwdhash -c linuxcool linux
自动rndc配置,创建密钥文件/etc/rndc.key:
[root@linuxcool ~]# rndc-confgen -a
更新key文件:
[root@linuxcool ~]# rndc-confgen
语法格式:umount.nfs [本地目录] [参数]
-f 在无法访问NFS系统的情况下强制卸载文件系统
-n 不更新/etc/mtab文件
-v 显示详细信息
-r 在卸载失败的情况下,尝试只读挂载
参考实例
挂载NFS服务器192.168.60.102的共享目录/it:
[root@linuxcool ~]# umount.nfs4 /mnt/it
强制卸载文件系统:
[root@linuxcool ~]# umount.nfs4 /mnt/it -f
尝试只读挂载:
[root@linuxcool ~]# umount.nfs4 /mnt/it -r
语法格式:createdb [参数] [数据库] [描述]
常用参数:
-D<表空间> 数据库默认表空间
-e 显示发送到服务端的命令
-O<所有者> 新数据库的所属用户
-E<编码> 指定数据库编码
-h<主机名> 数据库服务器的主机名
-p<端口> 数据库服务器端口号
-U<用户> 连接的用户名
-w 永远不提示输入口令
-W 强制提示输入口令
-T<模版数据库> 指定要复制的数据库模版
参考实例
创建数据库linuxcool:
[root@linuxcool ~]# su -postgres $ createdb linuxcool
主机192.168.60.163上的服务器创建数据库linuxcool,端口是5888:
[root@linuxcool ~]# createdb -p 5888 -h 192.168.60.163 linuxcool
以数据库linuxcool为模版复制创建数据库db1:
[root@linuxcool ~]# su -postgres
$ createdb db1 -T linuxcool
vacuumdb命令 – 清理并优化PostgreSQL数据库
语法格式:vacuumdb [参数] [数据库名]
-a 清理所有的数据库
-d<数据库名称> 清理指定的数据库
-e 显示发送到服务端的命令
-f 完全清理
-F 冻结记录的事务信息
-q 不写任何信息
-t<表名> 只清理指定的表
-U<用户名> 指定连接的用户名
-w 永远不提示输入口令
-W 强制提示输入口令
-h<主机名> 数据库服务器所在主机的主机名或套接字目录
-p<端口号> 指定数据库服务器端口号
-z 更新优化器信息
-v 输出大量的信息
参考实例
清理所有的数据库:
[root@linuxcool ~]# su - postgres
$ vacuumdb -a
为优化器清理和分析一个名为bigdb的数据库:
[root@linuxcool ~]# su - postgres
$ vacuumdb -z bigdb
清理数据库linuxcool中的table1表:
[root@linuxcool ~]# su - postgres
$ vacuumdb -d linuxcool -t 'table1'
ls命令 – 显示指定工作目录下的内容及属性信息
语法格式: ls [选项] [文件]
常用参数:
-a 显示所有文件及目录(包括以“.”开头的隐藏文件)
-l 使用长格式列出文件及目录信息
-r 将文件以相反次序显示(默认依英文字母次序)
-t 根据最后的修改时间排序
-A 同-a ,但不列出 “.” (当前目录) 及 “..” (父目录)
-S 根据文件大小排序
-R 递归列出所有子目录
参考实例
列出所有文件(包括隐藏文件):
[root@linuxcool ~]# ls -a
列出文件的详细信息:
[root@linuxcool ~]# ls -l
列出根目录(/)下的所有目录:
[root@linuxcool ~]# ls /
列出当前工作目录下所有名称是“s” 开头的文件 :
[root@linuxcool ~]# ls -ltr s*
列出/bin 目录下的所有目录及文件的详细信息 :
[root@linuxcool ~]# ls -lR /bin
列出当前工作目录下所有文件及目录并以文件的大小进行排序:
[root@linuxcool ~]# ls -AS
语法格式:cat [参数] [文件]
常用参数:
-n 显示行数(空行也编号)
-s 显示行数(多个空行算一个编号)
-b 显示行数(空行不编号)
-E 每行结束处显示$符号
-T 将TAB字符显示为 ^I符号
-v 使用^ 和 M- 引用,除了 LFD 和 TAB 之外
-e 等价于”-vE”组合
-t 等价于”-vT”组合
-A 等价于-vET组合
--help 显示帮助信息
--version 显示版本信息
参考实例
查看文件的内容:
[root@linuxcool ~]# cat filename.txt
查看文件的内容,并显示行数编号:
[root@linuxcool ~]# cat -n filename.txt
查看文件的内容,并添加行数编号后输出到另外一个文件中:
[root@linuxcool ~]# cat -n linuxcool.log > linuxprobe.log
清空文件的内容:
[root@linuxcool ~]# cat /dev/null > /root/filename.txt
持续写入文件内容,碰到EOF符后结束并保存:
[root@linuxcool ~]# cat > filename.txt <<EOF
> Hello, World
> Linux!
> EOF
将软盘设备制作成镜像文件:
[root@linuxcool ~]# cat /dev/fd0 > fdisk.iso
语法格式:cp [参数] [文件]
常用参数:
-f 若目标文件已存在,则会直接覆盖原文件
-i 若目标文件已存在,则会询问是否覆盖
-p 保留源文件或目录的所有属性
-r 递归复制文件和目录
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l 对源文件建立硬连接,而非复制文件
-s 对源文件建立符号连接,而非复制文件
-b 覆盖已存在的文件目标前将目标文件备份
-v 详细显示cp命令执行的操作过程
-a 等价于“dpr”选项
参考实例
复制目录:
[root@linuxcool ~]# cp -R dir1 dir2/
将文件test1改名为test2:
[root@linuxcool ~]# cp -f test1 test2
复制多个文件:
[root@linuxcool ~]# cp -r file1 file2 file3 dir
交互式地将目录/usr/linuxcool 中的所有.c文件复制到目录 dir 中:
[root@linuxcool ~]# cp -r /usr/linuxcool/*.c dir
语法格式: mkdir [参数] [目录]
常用参数:
-p 递归创建多级目录
-m 建立目录的同时设置目录的权限
-z 设置安全上下文
-v 显示目录的创建过程
参考实例
在工作目录下,建立一个名为dir 的子目录:
[root@linuxcool ~]# mkdir dir
在目录/usr/linuxcool下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问
[root@linuxcool ~]# mkdir -m 700 /usr/linuxcool/dir
同时创建子目录dir1,dir2,dir3:
[root@linuxcool ~]# mkdir dir1 dir2 dir3
递归创建目录:
[root@linuxcool ~]# mkdir -p linuxcool/dir
语法格式:echo [参数] [字符串]
常用参数:
-n 不输出结尾的换行符
-e “\a” 发出警告音
-e “\b” 删除前面的一个字符
-e “\c” 结尾不加换行符
-e “\f” 换行,光标扔停留在原来的坐标位置
-e “\n” 换行,光标移至行首
-e “\r” 光标移至行首,但不换行
-E 禁止反斜杠转移,与-e参数功能相反
—version 查看版本信息
--help 查看帮助信息
参考实例
配置用户密码
echo "密码" | passwd --stdin 用户名
输出一段字符串:
[root@linuxcool ~]# echo "LinuxCool.com"
LinuxCool.com
输出变量提取后的值:
[root@linuxcool ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
对内容进行转义,不让$符号的提取变量值功能生效:
[root@linuxcool ~]# echo \$PATH
$PATH
结合输出重定向符,将字符串信息导入文件中:
[root@linuxcool ~]# echo "It is a test" > linuxcool
使用反引号符执行命令,并输出其结果到终端:
[root@linuxcool ~]# echo `date`
输出带有换行符的内容:
[root@linuxcool ~]# echo -e "a\nb\nc"
a
b
c
输出信息中删除某个字符,注意看数字3消失了:
[root@linuxcool ~]# echo -e "123\b456"
12456
语法格式:mv [参数]源文件目录目标文件或目录
常用参数:
-i 若存在同名文件,则向用户询问是否覆盖
-f 覆盖已有文件时,不进行任何提示
-b 当文件存在时,覆盖前为其创建一个备份
-u 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
参考实例
将文件file_1重命名为file_2:
[root@linuxcool ~]# mv file_1 file_2
将文件file移动到目录dir中 :
[root@linuxcool ~]# mv file /dir
将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名):
[root@linuxcool ~]# mv /dir1 /dir2
将目录dir1下的文件移动到当前目录下:
[root@linuxcool ~]# mv /dir1/* .
语法格式:rm [参数] [文件]
常用参数:
-f 忽略不存在的文件,不会出现警告信息
-i 删除前会询问用户是否操作
-r/R 递归删除
-v 显示指令的详细执行过程
参考实例
删除前逐一询问确认:
[root@linuxcool ~]# rm -i test.txt.bz2
rm: remove regular file `test.txt.bz2'?
直接删除,不会有任何提示:
递归删除目录及目录下所有文件:
[root@linuxcool ~]# mkdir /data/log
[root@linuxcool ~]# rm -rf /data/log
删除当前目录下所有文件:
[root@linuxcool ~]# rm -rf *
清空系统中所有的文件(谨慎):
[root@linuxcool ~]# rm -rf /*
[root@linuxcool ~]# rm -f test.txt.bz2
语法格式:df [参数] [指定文件]
常用参数:
-a 显示所有系统文件
-B <块大小> 指定显示时的块大小
-h 以容易阅读的方式显示
-H 以1000字节为换算单位来显示
-i 显示索引字节信息
-k 指定块大小为1KB
-l 只显示本地文件系统
-t <文件系统类型> 只显示指定类型的文件系统
-T 输出时显示文件系统类型
-- -sync 在取得磁盘使用信息前,先执行sync命令
参考实例
显示磁盘分区使用情况:
[root@linuxcool ~]# df
文件系统1K-块 已用 可用 已用% 挂载点
devtmpfs 1980612 0 1980612 0% /dev
tmpfs 1994756 0 1994756 0% /dev/shm
tmpfs 1994756 1040 1993716 1% /run
tmpfs 1994756 0 1994756 0% /sys/fs/cgroup
/dev/mapper/fedora_linuxhell-root 15718400 2040836 13677564 13% /
tmpfs 1994756 4 1994752 1% /tmp
/dev/sda1 999320 128264 802244 14% /boot
tmpfs 398948 0 398948 0% /run/user/0
以容易阅读的方式显示磁盘分区使用情况:
[root@linuxcool ~]# df -h
文件系统容量已用可用已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 1.1M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/fedora_linuxhell-root 15G 2.0G 14G 13% /
tmpfs 2.0G 4.0K 2.0G 1% /tmp
/dev/sda1 976M 126M 784M 14% /boot
tmpfs 390M 0 390M 0% /run/user/0
显示指定文件所在分区的磁盘使用情况:
[root@linuxcool ~]# df /etc/dhcp
文件系统1K-块 已用 可用 已用% 挂载点
/dev/mapper/fedora_linuxcool-root 15718400 2040836 13677564 13% /
显示文件类型为ext4的磁盘使用情况:
[root@linuxcool ~]# df -t ext4
文件系统1K-块 已用 可用 已用% 挂载点
/dev/sda1 999320 128264 802244 14% /boot
语法格式: pwd [参数]
常用参数:
-L 显示逻辑路径
参考实例
查看当前工作目录路径:
[root@linuxcool ~]# pwd
/home/linuxcool
语法格式: ssh [参数] [远程主机]
常用参数:
-1 强制使用ssh协议版本1
-2 强制使用ssh协议版本2
-4 强制使用IPv4地址
-6 强制使用IPv6地址
-A 开启认证代理连接转发功能
-a 关闭认证代理连接转发功能
-b<IP地址> 使用本机指定的地址作为对位连接的源IP地址
-C 请求压缩所有数据
-F<配置文件> 指定ssh指令的配置文件,默认的配置文件为“/etc/ssh/ssh_config”
-f 后台执行ssh指令
-g 允许远程主机连接本机的转发端口
-i<身份文件> 指定身份文件(即私钥文件)
-l<登录名> 指定连接远程服务器的登录用户名
-N 不执行远程指令
-o<选项> 指定配置选项
-p<端口> 指定远程服务器上的端口
-q 静默模式,所有的警告和诊断信息被禁止输出
-X 开启X11转发功能
-x 关闭X11转发功能
-y 开启信任X11转发功能
参考实例
登录远程服务器:
[root@linuxcool ~]# ssh 202.102.240.88
用test用户连接远程服务器:
[root@linuxcool ~]# ssh -l test 202.102.220.88
查看分区列表:
[root@linuxcool ~]# ssh 202.102.220.88 /sbin/fdisk -l
强制使用ssh协议版本1:
[root@linuxcool ~]# ssh -1
开启认证代理连接转发功能:
[root@linuxcool ~]# ssh -A
语法格式:rpm [参数] [软件包]
常用参数:
-a 查询所有的软件包
-b或-t 设置包装套件的完成阶段,并指定套件档的文件名称;
-c 只列出组态配置文件,本参数需配合”-l”参数使用
-d 只列出文本文件,本参数需配合”-l”参数使用
-e或--erase 卸载软件包
-f 查询文件或命令属于哪个软件包
-h或--hash 安装软件包时列出标记
-i 显示软件包的相关信息
--install 安装软件包
-l 显示软件包的文件列表
-p 查询指定的rpm软件包
-q 查询软件包
-R 显示软件包的依赖关系
-s 显示文件状态,本参数需配合”-l”参数使用
-U或--upgrade 升级软件包
-v 显示命令执行过程
-vv 详细显示指令执行过程
参考实例
直接安装软件包:
[root@linuxcool ~]# rpm -ivh packge.rpm
忽略报错,强制安装:
[root@linuxcool ~]# rpm --force -ivh package.rpm
列出所有安装过的包:
[root@linuxcool ~]# rpm -qa
查询rpm包中的文件安装的位置:
[root@linuxcool ~]# rpm -ql ls
卸载rpm包:
[root@linuxcool ~]# rpm -e package.rpm
升级软件包:
[root@linuxcool ~]# rpm -U file.rpm
语法格式:find [参数] [路径] [查找和搜索范围]
常用参数:
-name 按名称查找
-size 按大小查找
-user 按属性查找
-type(文件f,目录d,块设备文件b,字符设备文件c)长度按类型查找
-iname 忽略大小写
-perm 根据文件属性查找
参考实例
使用-name参数查看/etc目录下面所有的.conf结尾的配置文件:
[root@linuxcool ~]# find /etc -name "*.conf
使用-size参数查看/etc目录下面大于1M的文件:
[root@linuxcool ~]# find /etc -size +1M
查找当前用户主目录下的所有文件:
[root@linuxcool ~]# find $HOME -print
列出当前目录及子目录下所有文件和文件夹:
[root@linuxcool ~]# find .
在/home目录下查找以.txt结尾的文件名:
[root@linuxcool ~]# find /home -name "*.txt"
在/var/log目录下忽略大小写查找以.log结尾的文件名:
[root@linuxcool ~]# find /var/log -iname "*.log"
搜索超过七天内被访问过的所有文件:
[root@linuxcool ~]# find . -type f -atime +7
搜索访问时间超过10分钟的所有文件:
[root@linuxcool ~]# find . -type f -amin +10
找出/home下不是以.txt结尾的文件:
[root@linuxcool ~]# find /home ! -name "*.txt"
找出普通文件,权限是755的
[root@localhost ~]# find /boot -perm 755 -type f -ls
查找权限为750的目录
find ./ -perm 750 -type d -ls
语法格式:tail [参数]
常用参数:
--retry 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用
-c<N>或——bytes=<N> 输出文件尾部的N(N为整数)个字节内容
-f<name/descriptor> --follow<nameldescript>:显示文件最新追加的内容
-F 与选项“-follow=name”和“--retry”连用时功能相同
-n<N>或——line=<N> 输出文件的尾部N(N位数字)行内容
--pid=<进程号> 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令
--help 显示指令的帮助信息
--version 显示指令的版本信息
参考实例
显示文件file的最后10行:
[root@linuxcool ~ ] tail file
显示文件file的内容,从第20行至文件末尾:
[root@linuxcool ~ ] tail +20 file
显示文件file的最后10个字符:
[root@linuxcool ~ ] tail -c 10 file
一直变化的文件总是显示后10行:
[root@linuxcool ~ ] tail -f 10 file
显示帮助信息:
[root@linuxcool ~ ] tail --help
语法格式:mount [参数]存储设备挂载点
常用参数:
-t 指定挂载类型
-l 显示已加载的文件系统列表
-h 显示帮助信息并退出
-V 显示程序版本
-n 加载没有写入文件“/etc/mtab”中的文件系统
-r 将文件系统加载为只读模式
-a 加载文件“/etc/fstab”中描述的所有文件系统
参考实例
查看版本:
[root@linuxcool ~]# mount -V
启动所有挂载:
[root@linuxcool ~]# mount -a
挂载/dev/cdrom 到 /mnt:
[root@linuxcool ~]# mount /dev/cdrom /mnt
挂载nfs格式文件系统:
[root@linuxcool ~]# mount -t nfs /123 /mnt
挂载第一块盘的第一个分区到/etc目录 :
[root@linuxcool ~]# mount -t ext4 -o loop,default /dev/sda1 /etc
语法格式:tftp [参数]
常用参数:
Connect 连接到远程tftp服务器
mode 文件传输模式
put 上传文件
get 下载文件
quit 退出
verbose 显示详细的处理信息
trace 显示包路径
status 显示当前状态信息
binary 二进制传输模式
ascii ascii 传送模式
rexmt 设置包传输的超时时间
timeout 设置重传的超时时间
help 帮助信息
? 帮助信息
参考实例
连接远程服务器”218.28.188.288″:
[root@linuxcool ~]# tftp 218.28.188.288
远程下载file文件:
tftp> get file
getting from 218.28.188.288 to /dir
Recived 168236 bytes in 1.5 seconds[112157 bit/s]
退出tftp:
tftp> quit
语法格式:grep [参数]
常用参数:
-i 搜索时,忽略大小写
-c 只输出匹配行的数量
-l 只列出符合匹配的文件名,不列出具体的匹配行
-n 列出所有的匹配行,显示行号
-h 查询多文件时不显示文件名
-s 不显示不存在、没有匹配文本的错误信息
-v 显示不包含匹配文本的所有行
-w 匹配整词
-x 匹配整行
-r 递归搜索
-q 禁止输出任何结果,已退出状态表示搜索是否成功
-b 打印匹配行距文件头部的偏移量,以字节为单位
-o 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位
参考实例
支持多文件查询并支持使用通配符:
[root@linuxcool ~]# grep zwx file_* /etc/hosts
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
file_2:zwx
file_4:dkfjlzwxejfkje
file_4:zwx djfkdjf
file_4:zwxedkfgj
输出匹配字符串行的数量:
[root@linuxcool ~]$ grep -c zwx file_*
file_1:2
file_2:1
file_3:0
列出所有的匹配行,并显示行号:
[root@linuxcool ~]# grep -n zwx file_*
file_1:1:zwx
file_1:4:zwx
file_1:10:zwxddkjflkdjfdlkfjlsdkj
file_2:2:zwx
file_4:3:dkfjlzwxejfkje
file_4:4:zwx djfkdjf
file_4:5:zwxedkfgj
显示不包含模式的所有行:
[root@linuxcool ~]# grep -vc zwx file_*
file_1:7
file_2:4
file_3:5
file_4:2
不再显示文件名:
[root@linuxcool ~]# grep -h zwx file_*
zwx
zwx
zwxddkjflkdjfdlkfjlsdkj
zwx
dkfjlzwxejfkje
zwx djfkdjf
zwxedkfgj
只列出符合匹配的文件名,不列出具体匹配的行:
[root@linuxcool ~]# grep -l zwx file_*
file_1
file_2
file_4
不显示不存在或无匹配的文本信息:
[root@linuxcool ~]# grep -s zwx file1 file_1
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
[root@linuxcool ~]# grep zwx file1 file_1
grep: file1: No such file or directory
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
递归搜索,不仅搜索当前目录,还搜索子目录:
[root@linuxcool ~]# grep -r zwx file_2 *
file_2:zwx
anaconda-ks.cfg:user --name=zwx --gecos="zwx"
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
file_2:zwx
file_4:dkfjlzwxejfkje
file_4:zwx djfkdjf
file_4:zwxedkfgj
initial-setup-ks.cfg:user --name=zwx --gecos="zwx"
匹配整词,以字面意思去解释他,相当于精确匹配:
[root@linuxcool ~]# grep zw* file_1
zwx
zwx
zdkfjeld
zw
ze
zwxddkjflkdjfdlkfjlsdkj
[root@linuxcool ~]# grep -w zw* file_1
zw
匹配整行,文件中的整行与模式匹配时,才打印出来:
[root@linuxcool ~]# grep -x zwx file_*
file_1:zwx
file_1:zwx
file_2:zwx
不输出任何结果,已退出状态表示结果:
[root@linuxcool ~]# grep -q zwx file_1
[root@linuxcool ~]# echo $?
0
[root@linuxcool ~]# grep -q zwx file_5
[root@linuxcool ~]# echo $?
1
[root@linuxcool ~]# grep -q zwx file5
grep: file5: No such file or directory
[root@linuxcool ~]# echo $?
2
查找一个文件中的空行和非空行:
[root@linuxcool ~]# grep -c ^$ file_1
4
[root@linuxcool ~]# grep -c ^[^$] file_1
15
匹配任意或重复字符用“.”或“*”符号来实现:
[root@linuxcool ~]# grep ^z.x file_1
zwx
zwx
zwxddkjflkdjfdlkfjlsdkj
[root@linuxcool ~]# grep ^z* file_6
zwx
dfkjd
zzdfjkd
zz dfdww
haha
语法格式: rmdir [参数] [目录名称]
常用参数:
-p 用递归的方式删除指定的目录路径中的所有父级目录,非空则报错
-- -- ignore-fail-on-non-empty 忽略由于删除非空目录时导致命令出错而产生的错误信息
-v 显示命令的详细执行过程
-- -- help 显示命令的帮助信息
-- -- version 显示命令的版本信息
参考实例
删除空目录:
[root@linuxcool ~]# rmdir dir
递归删除指定的目录树:
[root@linuxcool ~]# rmdir -p dir/dir_1/dir_2
显示指令详细执行过程:
[root@linuxcool ~]# rmdir -v dir
rmdir: 正在删除目录 'dir'
[root@linuxcool ~]# rmdir -p -v dir/dir_1/dir_2
rmdir: 正在删除目录 'dir/dir_1/dir_2
rmdir: 正在删除目录 'dir/dir_1'
rmdir: 正在删除目录 'dir_2'
显示命令的版本信息:
[root@linuxcool ~]# rmdir --version
rmdir (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
许可证GPLv3+:GNU 通用公共许可证第 3 版或更新版本https://gnu.org/licenses/gpl.html。
本软件是自由软件:您可以自由修改和重新发布它。
在法律范围内没有其他保证。
语法格式:netstat [参数]
常用参数:
-a 显示所有连线中的Socket
-p 显示正在使用Socket的程序识别码和程序名称
-u 显示UDP传输协议的连线状况
-i 显示网络界面信息表单
-n 直接使用IP地址,不通过域名服务器
参考实例
显示详细的网络状况:
[root@linuxcool ~]# netstat -a
显示当前户籍UDP连接状况:
[root@linuxcool ~]# netstat -nu
显示UDP端口号的使用情况:
[root@linuxcool ~]# netstat -apu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:bootpc 0.0.0.0:* 4000/dhclient
udp 0 0 localhost:323 0.0.0.0:* 3725/chronyd
udp6 0 0 localhost:323 [::]:* 3725/chronyd
显示网卡列表:
[root@linuxcool ~]# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 181864 0 0 0 141278 0 0 0 BMRU
lo 16436 0 3362 0 0 0 3362 0 0 0 LRU
显示组播组的关系:
[root@linuxcool ~]# netstat -g
IPv6/IPv4 Group Memberships Interface
RefCnt Group
--------------- ------ ---------------------
lo 1 ALL-SYSTEMS.MCAST.NET
eth0 1 ALL-SYSTEMS.MCAST.NET lo 1 ff02::1
eth0 1 ff02::1:ff0a:b0c eth0 1 ff02::1
语法格式:startx [参数]
常用参数:
-d 指定在启动过程中传递给客户机的X服务器的显示名称
-m 当未找到启动脚本时,启动窗口管理器
-r 当未找到启动脚本时,装入资源文件
-w 强制启动
-x 使用startup脚本启动X-windows会话
参考实例
已默认方式启动X-windows系统:
[root@linuxcool ~]# startx
以16位颜色深度启动X-windows系统:
[root@linuxcool ~]# startx -- -depth 16
强制启动X-windows系统:
[root@linuxcool ~]# startx -w
语法格式:fdisk [参数]
常用参数:
-b 指定每个分区的大小
-l 列出指定的外围设备的分区表状况
-s 将指定的分区大小输出到标准输出上,单位为区块
-u 搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址
-v 显示版本信息
参考实例
查看所有分区情况:
[root@linuxcool ~]# fdisk -l
选择分区磁盘:
[root@linuxcool ~]# fdisk /dev/sdb
在当前磁盘上建立扩展分区:
[root@linuxcool ~]# fdisk /ext
不检查磁盘表面加快分区操作:
[root@linuxcool ~]# fdisk /actok
重建主引导记录:
[root@linuxcool ~]# fdisk /cmbr
语法格式:curl [参数] [网址]
常用参数:
-O 把输出写到该文件中,保留远程文件的文件名
-u 通过服务端配置的用户名和密码授权访问
参考实例
将下载的数据写入到文件,必须使用文件的绝对地址:
[root@linuxcool ~]# curl https://www.linuxcool.com/abc.txt --silent -O
访问需要授权的页面时,可通过-u选项提供用户名和密码进行授权:
[root@linuxcool ~]# curl -u root https://www.linuxprobe.com/
Enter host password for user 'root':
语法格式:dhclient [参数] [网络接口]
常用参数:
-p 指定dhcp客户端监听的端口号(默认端口号86)
-d 总是以前台方式运行程序
-q 安静模式,不打印任何错误的提示信息
-r 释放ip地址
-n 不配置任何接口
-x 停止正在运行的DHCP客户端,而不释放当前租约,杀死现有的dhclient
-s 在获取ip地址之前指定DHCP服务器
-w 即使没有找到广播接口,也继续运行
参考实例
在指定网络接口上发出DHCP请求:
[root@linuxcool ~]# dhclient eth0
释放IP地址:
[root@linuxcool ~]# dhclient -r
Killed old client process
从指定的服务器获取ip地址:
[root@linuxcool ~]# dhclient -s 192.168.60.240
停止运行dhclient:
[root@linuxcool ~]# dhclient -x
Killed old client process
语法格式:ping [参数] [目标主机]
常用参数:
-d 使用Socket的SO_DEBUG功能
-c 指定发送报文的次数
-i 指定收发信息的间隔时间
-I 使用指定的网络接口送出数据包
-l 设置在送出要求信息之前,先行发出的数据包
-n 只输出数值
-p 设置填满数据包的范本样式
-q 不显示指令执行过程
-R 记录路由过程
-s 设置数据包的大小
-t 设置存活数值TTL的大小
-v 详细显示指令的执行过程
参考实例
检测与linuxcool网站的连通性:
[root@linuxcool ~]# ping www.linuxcool.com
连续ping4次:
[root@linuxcool ~]# ping -c 4 www.linuxcool.com
设置次数为4,时间间隔为3秒:
[root@linuxcool ~]# ping -c 4 -i 3 www.linuxcool.com
利用ping命令获取指定网站的IP地址:
[root@linuxcool ~]# ping -c 1 linuxcool.com | grep from | cut -d " " -f 4
220.181.57.216
物理卷管理
pvscan: 用于扫描系统中所有的物理卷
pvcreate: 用于将分区或整个硬盘转换成物理卷
pvdisplay: 用于显示物理卷的详情信息
pvremove: 用于将物理卷还原成普通分区或磁盘
vgscan: 用于扫描系统中已建立的LVM卷及相关信息
vgcreate: 用于将一个物理卷创建为一个卷组
vgdisplay: 用于显示系统中各卷组的详细信息
vgremove: 用于删除指定的卷组,卷组为参数
vgextend: 用于扩展卷组的磁盘空间
lvscan: 用于扫描系统中已建立的逻辑卷及相关信息
lvcreate: 用于从指定的卷组中分割空间
格式:lvcreate -L 容量大小 -n 逻辑卷名卷组名
lvdisplay: 用于显示逻辑卷的详情信息
lvextend: 用于动态扩展逻辑卷空间
格式:lvextend -L +大小 /dev/卷组名/逻辑卷名
lvremove: 用于删除指定的逻辑卷
-c: 创建.tar格式的包文件
-C: 解压时指定释放的目标文件夹
-f: 表示使用归档文件
-j: 调用bzip程序进行压缩或解压
-p: 打包时保留文件及目录的权限
-P: 打包时保留文件及目录的绝对路径
-t: 列表查看包内的文件
-v: 输出详情信息
-x: 解开.tar格式的包文件
-z: 调用gzip程序进行压缩或解压
格式:tar 选项 归档及压缩文件名 需要归档的源文件或目录
从归档文件中恢复数据
格式:tar 选项 归档及压缩文件名 -C 目标目录
-l 以长格式显示文件和目录列表
-a 显示所有子目录和文件的信息,包括.或隐藏目录
-A 与-a选项的作用基本类似
-d 显示目录本身属性,而不是显示目录中的内容
-h 以人性化的方式显示目录或文件的大小
-R 以递归的方式显示目录及其子目录中的所有内容
--color 在字符模式中以颜色区分不同的文件
du命令可用于统计指定目录
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h 以人性化的方式显示出统计结果
-s 只统计每个参数所占用的空间总的大小
-c 统计文件内容中的字节数
-l 统计文件内容中的行
-w 统计文件内容中的单词个数(以空格或制表位作为分隔)
退出编辑器顺序:快捷键Esc : 命令
:w 对文件内容进行修改后保存
:w<目录下的文件> 将当前编辑的文件另存到某个目录下的文件
:q 退出编辑器
:q! 强行退出编辑器
:wq/:x 保存并退出
:[替换范围] sub /旧的内容/新的内容[/g]
sub 含义为替换,可用s简写
% 在整个文件内容中进行查找并替换
参考案列
将文档中第5行~第15行中的initdefault字符替换为DEFAULT
:5,15 s /initdefault/DEFAULT /g
将当前文件中所有的initdefault字符替换为bootdefault
:% s /initdefault/bootdefault /g
Useradd命令用于添加用户账号
格式:useradd 选项 用户名
-u 指定用户的宿主目录位置
-e 指定用户的账户失效时间
-g 指定用户的基本组名
-G 指定用户的附加组名
-M 不建立宿主目录
-s 指定用户登录shell
-d 清空指定用户的密码,仅使用用户名即可登录
-l 锁定用户账号
-S 查看用户账号的状态
-u 解锁用户账号
-u 修改用户UID号
-d 修改用户的宿主目录位置
-e 修改用户的账户失效时间,使用YYYY-MM-DD日期格式
-g 修改用户的基本组名
-G 修改用户的附加组名
-s 指定用户的登录shell
-l 更改用户账号的登录名称
-L 锁定用户账户
-U 解锁用户账户
格式:userdel 用户
格式:chage 选项 用户
-d 日期: 修改/etc/shadow 文件中指定用户密码信息的第 3 个字段,也就是最后一次修改密码的日期,格式为 YYYY-MM-DD;
-m 天数: 修改密码最短保留的天数,也就是/etc/shadow 文件中的第 4 个字段;
-M 天数: 修改密码的有效期,也就是 /etc/shadow 文件中的第 5 个字段;
-W 天数: 修改密码到期前的警告天数,也就是 /etc/shadow 文件中的第 6 个字段;
-i 天数: 修改密码过期后的宽限天数,也就是 /etc/shadow 文件中的第 7 个字段;
-E 日期: 修改账号失效日期,格式为YYYY-MM-DD,也就是 /etc/shadow 文件中的第 8 个字段。
语法格式:mkvcdfs [参数]
常用参数:
文件名.mpg MPEG文件
参考实例
安装mkvcdfs命令工具包:
[root@linuxcool ~]# apt-get install vcdtools mkvcdfs
将avi格式的视频文件转换成mkvcdfs命令识别的mpg文件:
[root@linuxcool ~]# ffmpeg -i 1.avi -target vcd 1.mpg
[root@linuxcool ~]# ffmpeg -i 2.avi -target vcd 2.mpg
[root@linuxcool ~]# ffmpeg -i 3.avi -target vcd 3.mpg
把MPEG文件(video1.mpg~video3.mpg等3个文件)合并成2个文件:
[root@linuxcool ~]# mkvcdfs 1.mpg 2.mpg 3.mpg
Copying file vcd/20050208_1558_1.mpg Done with vcd/20050208_1558_1.mpg, got 4536 sectors Copying file vcd/20050208_1559_1.mpg Done with vcd/20050208_1559_1.mpg, got 4530 sectors
语法格式:sdiff [参数] file1 file2
常用参数:
-o file 互动式操作,并将结果写入到文件中
-i 忽略大小写的区别
-E 忽略由制表符宽度造成的差异
-b 忽略由空格数不同造成的差异
-W 忽略所有空白字符
-B 忽略任何因空行而造成的差异
-a 所有文件都以文本方式处理
-l 当有两行相同时只显示左栏的一行
-t 将输出中的tab 转换成空格
参考实例
比较二个文件的不同:
[root@linuxcool ~]# sdiff -a file1 file2
忽略大小写的区别:
[root@linuxcool ~]# sdiff -i file1 file2
忽略任何因空行而造成的差异:
[root@linuxcool ~]# sdiff -B file1 file2
genisoimage可将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。
语法格式:genisoimage [参数]
常用参数:
-r 使用Rock Ridge Extensions,并开放全部文件的读取权限
-J 使用Joliet格式的目录与文件名称
-o 指定映像文件的名称
-sysid 指定光盘的系统ID
参考实例
安装genisoimage:
[root@linuxcool ~]# apt-get install genisoimage
将/home/test目录下的文件转换为光盘影像文件:
[root@linuxcool ~]# genisoimage -o testfile.iso /home/test
显示帮助信息:
[root@linuxcool ~]# genisoimage -help
cdrdao命令用来刻录影像到光盘。用来向您的 CD-R或CD-RW写数据。
语法格式:cdrdao [参数]
常用参数:
–scanbus 扫描光驱挂在哪个设备上面
–write 写入
--device 光驱位置
参考实例
扫描光驱挂在哪个设备上面:
[root@linuxcool ~]# cdrdao scanbus
把bin文件写入光盘:
[root@linuxcool ~]# cdrdao write --device ATA:1,1,0 vcd.toc
将CD复制到硬盘中以data.bin文件存放:
[root@linuxcool ~]# cdrdao read -cd --device ATA:1,1,0 --buffers 64 --driver generic-mmc-raw --read-raw vcd.toc
为CD创建一个指定的内容目录表:
[root@linuxcool ~]# cdrdao read -toc --device ATA:1,1,0 --buffers 64 --driver generic-mmc-raw --read-raw vcd.toc
gedit命令是GNOME桌面环境的官方文本编辑器,尽管gedit旨在简化和易用,但它是功能强大的通用文本编辑器;它可以用来创建和编辑各种文本文件。
gedit具有灵活的插件系统,可用于向gedit本身动态添加新的高级功能。
语法格式:gedit [参数]
常用参数:
--list-encodings 显示可使用的编码选项列表
--encoding=编码 设置打开命令行中列出的文件时使用的字符编码
--new-window 在已存在的gedit实例中新建一个最上层窗口
--new-document 在已存在的gedit 实例中新建一个文档
-w 以独占方式打开文件直到文件关闭
-s 以独立模式运行gedit
参考实例
显示可使用的编码选项列表:
[root@linuxcool ~]# gedit --list-encodings
设置打开命令行中列出的文件时使用的字符编码:
[root@linuxcool ~]# gedit --encoding=GB2312
在已存在的gedit实例中新建一个最上层窗口:
[root@linuxcool ~]# gedit --new-window
以独立模式运行gedit:
[root@linuxcool ~]# gedit -s
view命令的作用是调用vi命令编辑文件,view命令只是一个连接到vi的文件,因此参数选项同vi命令。
view命令本质上是vim-R,同时view编辑器对vi设了只读标志。
语法格式: view [参数]
常用参数:
-s 静默模式
— -cmd<命令> 加载任何vimrc文件之前执行指定命令
-R 只读模式
-v Vi模式
-e Ex模式
-y 简易模式
— — 之后只有文件名
-c<命令> 加载第一个文件之后执行指定命令
-s<脚本输入文件> 从指定脚本输入文件阅读普通模式命令
-w<脚本输出文件> 追加所有类型的命令写入脚本输出文件
-W<脚本输出文件> 写入所有类型的命令到指定脚本输出文件
+ 从文件末尾开始
+<行数> 从指定行开始
— -noplugin 不要加载插件脚本
-p<数量> 打开指定数量的标签页(带文件名)
-r<文件名> 恢复崩溃的会话
-L 等同于-r
-r 列出交换文件并退出
-u<vimrc> 熟用指定vimrc,而不是.vimrc
-T<终端> 设置使用指定终端
-o<数量> 打开指定数量的窗口
-n 不使用交换文件,只用内存
-Z 受限模式
-m 不允许修改(写入)
-b 二进制模式
-M 在文本中不允许修改
参考实例
编辑指定文件:
[root@linuxcool ~]# view /linuxcool.log
从第二行开始编辑指定文件:
[root@linuxcool ~]# view +2 /linuxcool.log
以只读模式打开指定文件:
[root@linuxcool ~]# view -R /linuxcool.log
red命令的作用是可以通过读取指定文件进行编辑,red命令对输入文件的内容按行进行编辑,是行编辑器和文本编辑器。
red命令不仅可以在bash中使用,也可以在脚本文件中使用,red命令可以将整个文件的内容读入自己的缓冲区,对该副本执行指定的操作,并可选地将缓冲区写到磁盘。
注意,使用red命令编辑的时候是看不到文件内容的,一定要仔细检查输入的内容以保证其正确性,避免反复往返于编辑状态和命令行状态之间,那样会浪费大量的时间。
语法格式: red[参数] [文件]
常用参数:
. 退出编辑文件模式进入命令行模式(并没有退出编辑器)
-G 运行在兼容模式
-l 如果命令失败,使用0状态退出
-p<字符串> 使用指定字符串作为交互提示
-s 抑制诊断
-v 显示详细信息
参考实例
读取文件进行编辑:
[root@linuxcool ~]# red linuxcool.txt
创建一个新文件保存并查看内容:
[root@linuxcool ~]# red
a
Probably the best Linux command site
.
w linuxcool.txt
37
q
[root@linuxcool ~]# cat linuxcool.txt
Probably the best Linux command site
在文件的最后一行之前插入新内容:
[root@linuxcool ~]# red linuxcool.txt
37
-i
This is the inserted content text
.
w
71
q
[root@linuxcool ~]# cat linuxcool.txt
This is the inserted content text
Probably the best Linux command site
网卡配置信息:/etc/sysconfig/network-scripts/ifcfg-ens33
控制脚本默认放在/usr/lib/systemd目录下
此工具可实现对指定服务的控制
格式:systemctl 控制类型 服务名称
Start(启动):运行指定的系统服务程序,实现服务功能
Stop(停止):终止指定的系统服务程序,关闭相应的功能
Restart(重启):先退出,再重新运行指定的系统服务程序
Reload(重载):不退出服务程序,只是刷新配置,在某些服务中与restart的操作相同
Status(查看状态):查看指定的系统服务的运行状态及相关信息
enable 开机自动启动
Disable 开机自动关闭
Is-enable 查看开机启动状态
Systemctl list-units --type=service 查看当前系统中所有已激活的服务
参考案列
启动未运行的postfix服务
[root@localhost ~]# systemctl start postfix.service
查看指定postfix服务的运行状态
[root@localhost ~]# systemctl status postfix.service
● postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
Active: active (running)since一 2021-12-06 17:18:09 CST; 2 weeks 6 days ago
Main PID: 1663 (master)
Tasks: 3
CGroup: /system.slice/postfix.service
├─ 1663 /usr/libexec/postfix/master -w
├─ 1686 qmgr -l -t unix -u
└─11617 pickup -l -t unix -u
格式:mkfs -t 文件类型 分区设备
选项:
-t, --type=<类型> 文件系统类型;若不指定,将使用ext2
fs-options 实际文件系统构建程序的参数
<设备> 要使用设备的路径
<大小> 要使用设备上的块数
-V, --verbose 解释正在进行的操作;
多次指定-V将导致空运行(dry-run)
-V, --version 显示版本信息并退出
将-V作为 --version 选项时必须是惟一选项
-h, --help 显示此帮助并退出
-e 显示系统内的所有进程信息
-l 使用长格式显示进程信息
-f 使用完整的格式显示进程信息
颜色下可结合使用,单独ps,不带任何选项,只查看当前用户打开的进程
静态查看进程
Ps -elf
动态查看top
Top
指定进程的一部分名称进行查询
-U 查询特定用户的进程
-t 查询在特定终端运行的进程
Pstree命令——查看进程树
结合
-p 使用时可以同事列出对应的PID号
-u 可以列出对应的用户名
-a 可以列出完整的命令信息
三选项结合在一起,可查看当前系统的进程树,包括对应的PID号