目录:

系统服务命令

查看所有网卡IP地址——ip addr
启动防火墙——systemctl start firewalld.service
停止防火墙——systemctl stop firewalld.service
禁止防火墙开机启动——systemctl disable firewalld.service
列出正在运行的服务状态——systemctl
启动一个服务——systemctl start postfix.service
关闭一个服务——systemctl stop postfix.service
重启一个服务:——systemctl restart postfix.service
显示一个服务的状态——systemctl status postfix.service
在开机时启用一个服务——systemctl enable postfix.service
在开机时禁用一个服务——systemctl disable postfix.service
查看服务是否开机启动——systemctl is-enabled postfix.service;echo $?
查看已启动的服务列表——systemctl list-unit-files|grep enabled
设置系统默认启动运行级别3——ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
设置系统默认启动运行级别5——ln -sf/lib/systemd/system/graphical.target/etc/systemd/system/default.target

文件操作: 
ls   ####查看目录中的文件#### 
ls -F   ####查看目录中的文件#### 
ls -l   ####显示文件和目录的详细资料#### 
ls -a   ####显示隐藏文件#### 
ls [0-9]   ####显示包含数字的文件名和目录名#### 
rm -f go.tar   #### 删除go.tar文件####

系统信息 

arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
cpu个数:cat /proc/cpuinfo|grep 'physical id'|sort|uniq -c|wc -l
物理核心数:cat /proc/cpuinfo|grep 'cpu cores'|uniq
逻辑核心数:cat /proc/cpuinfo|grep 'processor'|wc -l
查看硬盘大小:smartctl --all /dev/sda

文件和目录 
pwd 显示工作路径 
ls 查看目录中的文件 
ls -F 查看目录中的文件 
ls -l 显示文件和目录的详细资料 
ls -a 显示隐藏文件 
ls [0-9] 显示包含数字的文件名和目录名 
tree 显示文件和目录由根目录开始的树形结构(1) 
lstree 显示文件和目录由根目录开始的树形结构(2) 
mkdir dir1 创建一个叫做 ‘dir1’ 的目录’ 
mkdir dir1 dir2 同时创建两个目录 
mkdir -p /tmp/dir1/dir2 创建一个目录树 
rm -f file1 删除一个叫做 ‘file1’ 的文件’ 
rmdir dir1 删除一个叫做 ‘dir1’ 的目录’ 
rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容 
rm -rf dir1 dir2 同时删除两个目录及它们的内容 
mv dir1 new_dir 重命名/移动 一个目录 
cp file1 file2 复制一个文件 
cp dir/* . 复制一个目录下的所有文件到当前工作目录 
cp -a /tmp/dir1 . 复制一个目录到当前工作目录 
cp -a dir1 dir2 复制一个目录 
ln -s file1 lnk1 创建一个指向文件或目录的软链接 
ln file1 lnk1 创建一个指向文件或目录的物理链接 
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm) 
file file1 outputs the mime type of the file as text 
iconv -l 列出已知的编码 
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding. 
find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80x60 “thumbs/{}” \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)

文件搜索 

find 搜索文件或目录

-empty 查找空白文件或目录

-group 按组查找

-name 按名称查找

-iname 按名称查找,不区分大小写

-mtime 按修改时间查找

-size 按容量大小查找

-type 按文件类型查找,文件f目录d

-user 按用户查找

-exec 对找到的文件和目录执行命令

-a 并且

-o 或者

find - name hell0.doc查找当前目录hello.doc的文件和目录

find /root -name "*.log" =查找/root目录下的以.log结尾的文件和目录

find -iname "hello" 不区分大小写查找文件和目录hello

find / -empty查找根目录所有的空文件和目录

find / -group tom  查找计算机所属组为tom的文件和目录

find / -mtime -3   查找3天内修改过的文件和目录

find / -mtime +4   查找4天前修改的文件和目录

find / -mtime 2    查找2天前的当天修改过的文件和目录

find ./ -size +10M  查找当前目录大于10MB的文件和目录

find ./ -type f     查找当前目录的普通文件

find / -user tom   查找计算机中tom的文件和目录

find / -size +1M -exec ls -l{} \;  查找大于1MB的文件后列出文件的详细信息

find / -size +1M -a -type f 查找计算机所有大于1MB的文件

find /tmp -name "*.log" -type f 查找/tmp目录下所有.txt结尾的文

find /tmp -name "*.log" -type d 查找/tmp目录下所有.txt结尾的目录

find /tmp/ -name "*.log" -type f -size +1M 查找/tmp目录下所有.txt结尾大于1M的文件

find /tmp/ -name "*.log" -type f -size +1M -exec cp {} /root \; 查找/tmp目录下所有.txt结尾大于1M的文件拷贝到root目录下

find /tmp/ -name "*.log" -type f -size +1M  -mtime +30 -exec rm -rf {} \; 查找/tmp目录下所有.txt结尾大于1M的30天以上的全部删除

find /tmp/ -name "*.log" -mtime +30 -exec rm -rf {} \;  /tmp/下50分钟以上的文件全部删除

挂载一个文件系统 
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在 
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出 
fuser -km /mnt/hda2 当设备繁忙时强制卸载 
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 
mount /dev/fd0 /mnt/floppy 挂载一个软盘 
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom 
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom 
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom 
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件 
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统 
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备 
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享

Mount -t ntfs-3g  /dev/sdc  /data1 挂载移动硬盘

磁盘空间 
df -h 显示已经挂载的分区列表

df .  查看当前磁盘剩余空间
ls -lSr |more 以尺寸大小排列文件和目录 
du -sh dir1 估算目录 ‘dir1’ 已经使用的磁盘空间’ 
du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小 
rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统) 
dpkg-query -W -f=’InstalledSize;10t{Package}n’ | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

用户和群组 
groupadd group_name 创建一个新用户组 
groupdel group_name 删除一个用户组 
groupmod -n new_group_name old_group_name 重命名一个用户组 
useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 “admin” 用户组的用户 
useradd user1 创建一个新用户 
userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录) 
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性 
passwd 修改口令 
passwd user1 修改一个用户的口令 (只允许root执行)

批量修改用户密码:
chpasswd
语法1:echo 用户名:密码 |chpasswd
语法2:chpasswd > user.txt (文件内容格式为:[user1:passwd]) 普通用户没有权限可以修改755

chage -E 2005-12-31 user1 设置用户口令的失效期限

文件的权限
ls -lh 显示权限 
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限 
chown user1 file1 改变一个文件的所有人属性 
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 
chgrp group1 file1 改变文件的群组 
chown user1:group1 file1 改变一个文件的所有人和群组属性

chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位 
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的 
chmod g-s /home/public 禁用一个目录的 SGID 位 
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件 
chmod o-t /home/public 禁用一个目录的 STIKY 位

压缩与解压缩: 

gzip 压缩与解压缩

-d 解压

gzip hello.txt 文件压缩为hello.txt.gz

gzip -d hello.tz 解压gz文件

gzip -9 file1   最大程度压缩

unzip file1.zip 解压一个zip格式压缩包

---------------------------------

bzip2 解压与解压缩

-d解压

bizp2 hello.txt 文件压缩为hello.txt.bz2

bizp2 -d hello.txt.bz2 解压bz2文件

--------------------------------

gzip与bzip2工具不可以对目录做打包压缩操作

---------------------------------

tar 打包与解包文件

-c 创建打包文件

--delete 从打包文件中删除文件

-r 追击文件至打包文档

-t 列出对包文档的内容

-x 释放打包文件

-C 指定解压路径

-f 指定打包的文件名称

-j 打包后通过bzip2格式压缩

--remove-files 打包删除源文件

-z 打包后通过gzip格式压缩

tar -cf etc.tar /etc 将/etc/目录打包保存为etc.tar

tar -czf boot.tar.gz /boot 将/boot目录打包并压缩为boot.tar.gz

tar -cjf etc.tar.bz2 /tmp 将/tmp/目录打包并压缩etc.tar.bz2

tar --delete etc/hosts -f etc.tar 从打包文档中删除文件hsots

tar -f etc.tar -r /root/install.log 追加文件至打包文档etc.tar中

tar -tf boot.tar.gz 查看打包文档中的信息

tar -tvf etc.tar 查看打包文档中的详细信息

tar -xzf boot.tar.gz 解压gz格式的打包文档至当前目录

tar -xjf etc.tar.bz2 解压bz2格式的打包文档至当前目录

tar -xzf boot.tar.gz -C /tmp 指定解压路径为/tmp

tar -czf mess.tar.gz /var/log/messages --remove-files 打包压缩后删除源文件

YUM丶RPM 包 
rpm -ivh package.rpm 安装一个rpm包 
rpm -ivh –nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 
rpm -qa 显示系统中所有已经安装的rpm包 
rpm -qa | grep httpd 显示所有名称中包含 “httpd” 字样的rpm
rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm 从一个rpm源码安装一个构建好的包

rpm -ql software_name 查看软件安装目录
rpm -qi sotware_name 查看软件安装的版本信息
rpm -Uvh software_name 软件升级
rpm -e nodeps software_name强制卸载
rpm -e software_name 软件卸载

YUM 软件包升级器 - (Fedora, RedHat及类似系统) 
yum install package_name  -y 下载并安装一个rpm包 
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系 
yum update package_name 更新一个rpm包 
yum remove package_name 删除一个rpm包 
yum list 列出当前系统中安装的所有包 
yum clean packages 清理rpm缓存删除下载的包 
yum clean all 删除所有缓存的包和头文件

查看文件内容 
cat file1 从第一个字节开始正向查看文件的内容 
tac file1 从最后一行开始反向查看一个文件的内容 
more file1 查看一个长文件的内容 
less file1 类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作 
head -2 file1 查看一个文件的前两行 
tail -2 file1 查看一个文件的最后两行 
tail -f /var/log/messages 实时查看被添加到一个文件中的内容

文本处理 

grep Aug /var/log/messages 在文件 ‘/var/log/messages’中查找关键词”Aug”
grep ^Aug /var/log/messages 在文件 ‘/var/log/messages’中查找以”Aug”开始的词汇
grep [0-9] /var/log/messages 选择 ‘/var/log/messages’ 文件中所有包含数字的行
grep Aug -R /var/log/* 在目录 ‘/var/log’ 及随后的目录中搜索字符串”Aug”
sed -i ‘s/stringa1/stringa2/g’ example.txt 将example.txt文件中的 “string1” 替换成 “string2”
sed ‘/^/d’ example.txt 从example.txt文件中删除所有空白行
sed ‘/ *#/d; /^/d’ example.txt 从example.txt文件中删除所有注释和空白行
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下单元格内容
sed -e ‘1d’ result.txt 从文件example.txt 中排除第一行
sed -n ‘/stringa1/p’ 查看只包含词汇 “string1”的行
sed -e ‘s/ *//’ example.txt 删除每一行最后的空白字符
sed -e ‘s/stringa1//g’ example.txt 从文档中只删除词汇 “string1” 并保留剩余全部
sed -n ‘1,5p;5q’ example.txt 查看从第一行到第5行内容
sed -n ‘5p;5q’ example.txt 查看第5行
sed -e ‘s/00*/0/g’ example.txt 用单个零替换多个零
cat -n file1 标示文件的行数
cat example.txt | awk ‘NR%2==1’ 删除example.txt文件中的所有偶数行
echo a b c | awk ‘{print1}’ 查看一行第一栏
echo a b c | awk ‘{print 1,3}’ 查看一行的第一和第三栏
paste file1 file2 合并两个文件或两栏的内容
paste -d ‘+’ file1 file2 合并两个文件或两栏的内容,中间用”+”区分
sort file1 file2 排序两个文件的内容
uniq -c |sort -nr 去重并从大到小排序
sort file1 file2 | uniq -c 取出两个文件的并集(去重)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)

文件系统分析 
badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块 
fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性 
fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 
e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 
e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 
fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 
fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性 
fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

初始化一个文件系统 
mkfs /dev/hda1 在hda1分区创建一个文件系统 
mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统 
mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统 
mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统 
fdformat -n /dev/fd0 格式化一个软盘 
mkswap /dev/hda3 创建一个swap文件系统

mkfs.ext3 /dev/sdb1 格式化分区

SWAP文件系统 
mkswap /dev/hda3 创建一个swap文件系统 
swapon /dev/hda3 启用一个新的swap文件系统 
swapon /dev/hda2 /dev/hdb3 启用两个swap分区

备份 

scp -r 
dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的完整备份 
dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份 
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ 通过ssh在远程主机上执行一次备份本地磁盘的操作 
dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件 
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作 
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容

光盘 
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容 
mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件 
mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件 
mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件 
cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件 
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件 
mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件 
cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中 
cd-paranoia – “-3” 从一个CD光盘转录音轨到 wav 文件中(参数-3) 
cdrecord –scanbus 扫描总线以识别scsi通道 
dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD

系统性能分析工具

1.常用系统命令

vmstatsariostatnetstatfreepstop、iftop等

2.常用组合方式

vmstat、sar、iostat检测是否是CPU瓶颈

free、vmstat检测是否是内存瓶颈

iostat检测是否是磁盘I/O瓶颈

netstat、iftop检测是否是网络带宽瓶颈

Linux下磁盘故障常见修复方法

Umount /mnt卸载分区

硬盘恢复,如何来修复呢?

进入linux rescue模式,执行fsck.ext3 /dev/sdb –y

centos(6,7) 系统常用命令的更多相关文章

  1. node模块系统常用命令

    node模块系统常用命令 命令 示例 备注 安装模块 npm install commander 最新版本 npm install commander@1.0.0 指定版本 npm install c ...

  2. 小白学Linux(四)--系统常用命令

    这里记录一下基础的系统常用命令,都是日常可能用到的,需要记住的一些命令.主要分为5个模块:关于时间,输出/查看,关机/重启,压缩归档和查找. 时间:      date :查看设置当前系统时间,dat ...

  3. 初识Linux(四)--系统常用命令

    这里记录一下基础的系统常用命令,都是日常可能用到的,需要记住的一些命令.主要分为5个模块:关于时间,输出/查看,关机/重启,压缩归档和查找. 时间:      date :查看设置当前系统时间,dat ...

  4. Linux之centos系统常用命令总结

    1.查看系统版本 cat /etc/redhat-release 文件与目录操作 命令 解析 cd /home 进入 '/home' 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 ...

  5. Linux系统常用命令总结

    1. 最关键的命令 manecho 2. 目录文件操作命令 ls: 查看目录下的文件信息或文件信息dir:pwd: 打印当前路径cd:改变路径mkdir:创建路径rmdir:删除路径cp:拷贝文件或目 ...

  6. Linux系统常用命令大全

    一.系统信息操作(备注:红色标记为常用命令,以下类推,不再赘述) arch 显示机器的处理器架构(1) uname -m   显示机器的处理器架构(2) uname -r               ...

  7. windows系统常用命令

    dir 指定要列出的驱动器,显示当前文件夹下的文件   /?可显示所有命令 显示当前路径下的所有文件的绝对路径,包含子文件夹中的内容 D:\test > dir /b /s /o:n /a:a  ...

  8. win系统常用命令

    windows常用命令 net user 用户名 密码 /add (建立用户) net localgroup administrators 用户名 /add (将用户加到管理员,使其拥有管理权限) n ...

  9. CentOS系统常用命令

    1.进入目录命令 cd /usr/bin //进入etc目录 cd .. //切换到上一层目录 cd / //进入主目录 2.新建文件命令 比如进入某个目录后执行 vim test 2.查看运行的项目 ...

随机推荐

  1. CH5101 LCIS(最长公共上升子序列) 题解

    每日一题 day16 打卡 Analysis 设F[i,j]表示A[1..i]与B[1..j]并且以B[j]结尾的两段最长公共上升子序列,那么我们可以发现这样的转移 (1)A[i]==B[j]时 F[ ...

  2. 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest

    目录 Contest Info Solutions A. Berstagram B. The Feast and the Bus C. Trip to Saint Petersburg E. The ...

  3. 为List<T>中的T进行参数校验

    1.现在前端发送了一个POST请求,他的Data是一个数组,而不是对象(jsonObj的值两侧是中括号). var jsonObj = [{'id':11, 'name':'叵'}, {'id':12 ...

  4. 基于JSON的接口测试框架

    更多学习资料请加QQ群: 822601020获取 实现效果 需求场景: 公司微服务接口使用数字签名的方式, 使用Postman调试接口每次都需要修改源码将验签临时关闭, 但是关闭后,其他微服务不能正常 ...

  5. 在取变量名的时候,千万不要用new

    这样子是会报错的

  6. js对元素判断

    $("input[type='text']").attr("readonly","readonly"); $("textarea& ...

  7. spring boot 之 如何创建spring boot项目

    创建spring boot的方式有非常多,今天我们使用maven来进行创建spring boot项目,因为maven使用的非常广泛,也很好用,很多IDE也都支持maven. 1 创建maven项目 1 ...

  8. java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the server

    错误信息 java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents ...

  9. MacOS系统降级

    从MacOS 10.14 降级到 10.12,下载好系统镜像文件.打开,复制到Application. 准备一个至少8G的U盘,,打开磁盘工具,『抹掉』(格式化)成Mac OS扩展(日志式),名称可随 ...

  10. [webpack]手写一个mvp版本的webpack

    let fs = require('fs'); let path = require('path'); let babylon = require('babylon'); // Babylon 把源码 ...