Linux常用命令

还在整理中。。。

Linux命令格式

command [-option] [parametor] [parametor]

cd 切换目录

/ 根目录
. 当前目录
.. 上级目录
~ 当前用户的家目录
- 上一次的所在的目录
$_ 刚创建的目录
语法:

cd [.|..|~|/|目录名称]

示例:

cd 空格 # 进入个人的主目录
cd ~ # 进入个人的主目录
cd .. # 返回上一级目录
cd ../.. # 返回上两级目录
cd - # 返回上次所在的目录
cd /etc
cd ~/Desktop
mkdir test && cd $_

查看文件/目录

pwd 打印工作目录

执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称

ls 查看目录中的文件

语法:

ls [-a -l -h][目录名称,不写就默认为当前目录]

常用参数:

  • -a :列出全部的文件,包括隐藏的
  • -l :显示更多信息,包含文件的属性与权限数据等
  • -d :仅列出目录本身,而不是列出目录的文件数据
  • -h :将文件容量以较易读的方式(GB,kB等)列出来
  • -R :递归列出目录,等于该目录下的所有文件都会显示出来
  • -F : 查看目录中的文件

示例:

ls -lh
ls -a 
ls -la 
ls -al
ls ~/Desktop
ls *[0-9]* # 显示包含数字的文件名和目录名

tree 以树结构显示文件和文件夹

语法:

tree [-d | -L num][目录]

常用参数:

  • -d 只显示目录
  • -L num 向下显示目录层级num

示例:

tree -d #树结构显示当前以及所有下级目录 
tree -L 3 ~/Desktop #树结构显示~/Desktop及向下3级的目录和文件 

grep 文本搜索

在文本内容中根据关键字或模式进行搜索

语法
grep [-nvi] <search_word> file_name

常用选项

  • - v 显示不包含search_word的行
  • - n 显示行号
  • - i 忽略search_word大小写

示例

grep -v ^# xxx.conf # 不显示以 #开头的注释行,通常查看配置文件时候使用
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"

cat 查看文件内容、创建文件、文件合并、追加文件内容

cat 查看文件会一次显示所有内容,适合查看内容较少的文本文件。第一行开始显示文件的内容

语法

cat [-AbeEnstTuv] [--help] [--version] fileName

常用参数

  • -n 或 --number:由 1 开始对所有输出的行数编号。
  • -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
  • -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
  • -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
  • -E 或 --show-ends : 在每行结束处显示 $。
  • -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
  • -A, --show-all:等价于 -vET。
  • -e:等价于"-vE"选项;
  • -t:等价于"-vT"选项;

示例:

cat textfile1 #把textfile1内容打印到屏幕
cat > textfile1 #这个可以向文件“textfile1”写入内容,最后按 Ctrl + D结束输入。

# 把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
cat -n textfile1 > textfile2 

# 把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
cat -b textfile1 textfile2 >> textfile3

# 清空 /etc/test.txt 文档内容
cat /dev/null > /etc/test.txt

###########################################
# cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入
cat /dev/fd0 > OUTFILE # OUTFILE 指输出的镜像文件名
 
# 相反的,如果想把 image file 写到软盘,输入
cat IMG_FILE > /dev/fd0 # IMG_FILE 指镜像文件

tac

反向查看文件的内容

more

查看一个长文件的内容,分页显示

less

类似于 more 命令,比more多了个往前翻页的功能(pagedown向下翻页,pageup向上翻页)

head

查看一个文件的头部数据

示例

head -2 file.txt #查看文件file.txt的头2行数据

tail

显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

语法:

tail [必要参数] [可选参数] [文件] 

常用参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

示例:

# 查看一个文件的最后两行
tail -2 file1

# 实时查看被添加到一个文件中的内容
tail -f /var/log/messages

# 将tomcat日志文件的最后200行内容写入到/tmp/tomcatlog.log文件中,如果/tmp/tomcatlog.log文件不存在,则会创建该文件,如果存在,则覆盖原文件的内容。
tail -f -n 200 /usr/local/tomcat/logs/catalina.out > /tmp/tomcatlog.log

# 显示文件末尾内容(显示文件最后5行内容)
tail -n 5 log2014.log

# 循环查看文件内容
tail -f test.log

# 在后台ping远程主机。并输出文件到test.log;这种做法也使用于一个以上的档案监视。用Ctrl+c来终止。
ping 192.168.120.204 > test.log &

# 此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。

#显示文件 notes.log 的内容,从第 20 行至文件末尾:
tail +20 notes.log

# 显示文件 notes.log 的最后 10 个字符:
tail -c 10 notes.log

创建文件/目录

mkdir 创建目录

创建一个或多个、一级或多级目录

语法

mkdir [-p] 目录名称 [目录名称 ...]

常用参数:

  • -p 如果一次创建多层目录加上参数

示例

mkdir dir1 # 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 # 同时创建两个目录
mkdir -p /tmp/dir1/dir2 # 创建一个目录树

touch 文件名

如果不存在就创建文件,否则更新文件的最后修改时间属性

语法:

touch 文件名1 [文件名2 ...] # 在当前文件夹下创建新文件

示例:

touch abc.txt haha
touch ~/Desktop/test

echo 回显文字

> 输出 ,>> 追加

示例
输出 “hello 我的!” 到文件 hao123.txt,文件不存在则先创建,文件存在则重写文件内容
echo "hello 我的!" > hao123.txt

vim 文件名

在vi/vim中打开,不存在则创建文件


移动或复制文件/目录

cp命令主要用于复制文件或目录

语法:

cp [options] source dest
cp [options] source... directory

常用参数

  • -a :将文件的特性一起复制
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:若目标文件已经存在时,在覆盖时会先询问操作的进行
  • -p:连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
  • -r :递归持续复制,用于目录的复制行为
  • -u :目标文件与源文件有差异时才会复制
  • -l:不复制文件,只是生成链接文件。

示例:

# 使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下
cp –r test/ newtest

cp file1 file2 # 复制一个文件
cp dir/* . # 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . # 复制一个目录到当前工作目录
cp -a dir1 dir2 # 复制一个目录
cp -a file1 file2 # 连同文件的所有特性把文件file1复制成文件file2
cp file1 file2 file3 dir # 把文件file1、file2、file3复制到目录dir中
scp ~/tu.tar.gz root@192.168.100.142:~/tu.tar.gz # 局域网复制

mv 重命名/移动

命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法:

mv [options] source dest
mv [options] source... directory

常用参数:

  • -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件已经存在,就会询问是否覆盖
  • -u :若目标文件已经存在,且比目标文件新,才会更新

mv参数设置与运行结果

命令格式运行结果
mv 文件名 文件名将源文件名改为目标文件名
mv 文件名 目录名将文件移动到目标目录
mv 目录名 目录名目标目录已存在,将源目录 移动到目标目录;目标 目录不存在则改名
mv 目录名 文件名出错

示例

# 将文件 aaa 更名为 bbb 
mv aaa bbb

# 将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs
mv info/ logs 

# 再如将/usr/student下的所有文件和目录移到当前目录下
$ mv /usr/student/*  . 

删除文件或目录

rm 删除文件或目录

语法:

rm [options] name...

常用参数:

  • -i 互动模式,在删除前逐一确认(y代表yes, n代表no)。
  • -r 递归删除文件夹内的文件和文件夹。
  • -f 就是force的意思,强制删除, 不给任何提示。忽略不存在的文件,不会出现警告消息

示例:

rm -rf ~/Desktop # 删除当前用户家目录/桌面 所有文件
rm -f file1 # 删除一个叫做 'file1' 的文件'
rmdir dir1 # 删除一个叫做 'dir1' 空目录'
rm -rf dir1 # 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 # 同时删除两个目录及它们的内容

文本处理

cat example.txt | awk 'NR%2==1' #删除example.txt文件中的所有偶数行
comm -1 file1 file2 #比较两个文件的内容只删除 'file1' 所包含的内容
comm -2 file1 file2 #比较两个文件的内容只删除 'file2' 所包含的内容
comm -3 file1 file2 #比较两个文件的内容只删除两个文件共有的部分
echo a b c | awk '{print $1}' #查看一行第一栏
echo a b c | awk '{print $1,$3}' #查看一行的第一和第三栏
sed 's/stringa1/stringa2/g' example.txt #将example.txt文件中的 "string1" 替换成 "string2"
sed '/^$/d' example.txt 从example.txt #文件中删除所有空白行
sed '/ *#/d; /^$/d' example.txt 从example.txt #文件中删除所有注释和空白行
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 #用单个零替换多个零
sort file1 file2 #排序两个文件的内容
sort file1 file2 | uniq #取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u #删除交集,留下其他的行
sort file1 file2 | uniq -d #取出两个文件的交集(只留下同时存在于两个文件中的文件)
paste file1 file2 #合并两个文件或两栏的内容
paste -d '+' file1 file2 #合并两个文件或两栏的内容,中间用"+"区分

文件搜索

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天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' \; #搜索以 '.rpm' 结尾的文件并定义其权限
find / -xdev -name \*.rpm #搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate \*.ps 寻找以 '.ps' #结尾的文件 - 先运行 'updatedb' 命令

文件/目录 更多操作

touch -t 0712250000 file1 #修改一个文件或目录的时间戳(YYMMDDhhmm)
ln -s file1 lnk1 #创建一个指向文件或目录的软链接
ln file1 lnk1 #创建一个指向文件或目录的物理链接

用户和群组

groupadd group_name #创建一个新用户组
groupdel group_name #删除一个用户组
groupmod -n new_group_name old_group_name #重命名一个用户组
useradd -m -g admin -s /bin/bash username #创建一个属于 "admin" 用户组的用户
useradd user1 #创建一个新用户,默认用户组与用户名同名
userdel -r user1 #删除一个用户 ( '-r' 排除主目录)
usermod -c "User FTP" -g 用户主组 -G 用户副组 -d /ftp/user1 -s /bin/nologin user1 #修改用户属性
passwd #修改口令
passwd user1 #修改一个用户的口令 (只允许root执行)
chage -E 2005-12-31 user1 #设置用户口令的失效期限
pwck #检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户
grpck #检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组
newgrp group_name #登陆进一个新的群组以改变新创建文件的预设群组

文件的权限 - 使用 “+” 设置权限,使用 “-” 用于取消

ls -lh #显示权限
ls /tmp | pr -T5 -W$COLUMNS #将终端划分成5栏显示
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 #改变一个文件的所有人和群组属性
find / -perm -u+s #罗列一个系统中所有使用了SUID控制的文件
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 位

chgrp 改变文件所属用户组,它的使用非常简单,它的基本用法如下:
chgrp [-R] dirname/filename
R :进行递归的持续对所有文件和子目录更改
chgrp users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users

chown 改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同,不再详述。

chmod [-R] xyz 文件或目录 改变文件的权限:
R:进行递归子目录的持续更改
u(user) g(group)o(other)a(all)+(加入)-(删除) =(设置)
跟rwx搭配来对文件的权限进行更改。
chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x
chmod g+w file # 向file的文件权限中加入用户组可写权限

whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径

文件的特殊属性 - 使用 “+” 设置权限,使用 “-” 用于取消

chattr +a file1 #只允许以追加方式读写文件
chattr +c file1 #允许这个文件能被内核自动压缩/解压
chattr +d file1 #在进行文件系统备份时,dump程序将忽略这个文件
chattr +i file1 #设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr +s file1 #允许一个文件被安全地删除
chattr +S file1 #一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr +u file1 #若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr #显示特殊的属性

初始化一个文件系统

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文件系统

SWAP文件系统

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

挂载一个文件系统

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网络共享

磁盘空间

df -h #显示已经挂载的分区列表
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='${Installed-Size;10}t${Package}n' | sort -k1,1n #以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

文件系统分析

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文件系统的完整性

备份

dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份
dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav --delete /home /tmp 同步两边的目录
rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync
rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录
rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作
dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件
tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录
tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包
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

系统(网络)管理
网络管理 (以太网和WIFI无线)
ifconfig/ip addr 查看ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改ip地址的配置,可改ip地址
或者用setup指令通过一个带提示的伪图形界面来修改
systemctl restart network.service 重启网卡

netstat 显示网络连接状态信息
netstat -tunlp 查看当前的进程连接网络的信息
netstat -anp | grep 2181 查看2181端口占用情况 查看端口占用情况
netstat -tunple | grep 6379 查看6379端口占用情况
-a (all)显示所有连接和监听端口,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
----------所有选项-------begin----------------------
-a或–all:显示所有连线中的Socket;
-A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;
-c或–continuous:持续列出网络状态;
-C或–cache:显示路由器配置的快取信息;
-e或–extend:显示网络其他相关信息;
-F或–fib:显示FIB;
-g或–groups:显示多重广播功能群组组员名单;
-h或–help:在线帮助;
-i或–interfaces:显示网络界面信息表单;
-l或–listening:显示监控中的服务器的Socket;
-M或–masquerade:显示伪装的网络连线;
-n或–numeric:直接使用ip地址,而不通过域名服务器;
-N或–netlink或–symbolic:显示网络硬件外围设备的符号连接名称;
-o或–timers:显示计时器;
-p或–programs:显示正在使用Socket的程序识别码和程序名称;
-r或–route:显示Routing Table;
-s或–statistice:显示网络工作信息统计表;
-t或–tcp:显示TCP传输协议的连线状况;
-u或–udp:显示UDP传输协议的连线状况;
-v或–verbose:显示指令执行过程;
-V或–version:显示版本信息;
-w或–raw:显示RAW传输协议的连线状况;
-x或–unix:此参数的效果和指定"-A unix"参数相同;
–ip或–inet:此参数的效果和指定"-A inet"参数相同。
----------所有选项-------over----------------------

查看进程信息
ps 显示瞬间所有的进程状态,process之意 ,grep表示 过滤/搜索
ps -ef 查看系统中当前瞬间的进程信息快照
ps -ef|grep tomcat 搜索myshell进程的信息
ps -aux|grep redis 查看redis服务进程状态 查看服务运行状态
-e/-A :所有的进程均显示出来
-f :全格式
-a :显示所有用户的所有进程(包括其它用户)
-u :按用户名和启动时间的顺序来显示进程
-x :显示无控制终端的进程,一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出
ps aux : 查看系统所有进程状态

free 查看内存使用状况
top 查看实时刷新的系统当前耗费资源最多的进程信息

kill 杀掉进程PID,它通常与ps和jobs命令一起使用,它的基本语法如下:
kill -signal PID 杀死一个进程, signal的常用参数如下:
kill -9 pid 强制杀掉进程(根据端口) (-9 表示强制杀死)
1:SIGHUP, 启动被终止的进程
2:SIGINT, 相当于输入ctrl+c,中断一个程序的进行
9:SIGKILL, 强制中断一个进程的进行
15:SIGTERM, 以正常的结束进程方式来终止进程
17:SIGSTOP, 相当于输入ctrl+z,暂停一个进程的进行
pkill -9 redis-server 强制杀掉进程(根据服务名)

正常结束进程第一个后台工作,可用jobs命令查看后台中的第一个工作进程
kill -SIGTERM %1

重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得

kill -SIGHUP PID

killall命令 该命令用于向一个命令启动的进程发送一个信号
killall [-iIe] [command name]
-i :交互式的意思,若需要删除时,会询问用户
-e :表示后面接的command name要一致,但command name不能超过15个字符
-I :命令名称忽略大小写
# 例如:
killall -SIGHUP syslogd # 重新启动syslogd


系统信息
arch 显示机器的处理器架构(1)
uname -a 显示正在使用的内核版本号
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /etc/redhat-release 显示系统版本号(redhat系列)
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备

date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS

关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销

打包和压缩文件
tar: 打包压缩
-c 归档文件
-x 解压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-t 查看压缩文件内容
-v 显示压缩或解压缩过程 v(view)
-f 使用文档名
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 打包’file1’, ‘file2’ 以及 'dir1’的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -jcvf archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包
tar -zcvf archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -zxvf archive.tar.gz 解压到当前目录下(gzip格式的压缩包)
tar -zxvf testdir.tar.gz -C Downloads/ 解压到指定的Downloads目录下

===========================
13、改变文件(目录)的属性与权限
1.chgrpjison test.txt 改变test.txt文件的所属用户组为jison
-r 连目录中的子目录和文件一起改所属用户组
2.chownjison test.txt 改变test.txt文件的所属用户为jison
-r 连目录中的子目录和文件一起改所属用户
3.chmod777 test.txt 将test.txt文件权限改为777,7=4+2+1
r=4 u=rwx,g=rwx,o=rwx
w=2 a+r 所有用户+r
x=1 a代表所有用户
ugo分别代表user,group,other
14、umask 默认权限,如果返回0023,023表示被拿掉的权限,实际权限为777-023,则权限为754
-S 返回以u=rwx,g=rx,o=r的方式表示默认权限
15、文件的特殊权限:SUID,SGID,SBIT,用于替代x权限的
SUID和SGID分别表示使用户和用户组执行二进制文件时暂时获取root,需要具备x的权限,此时x变成s,若无x权限是,则显示为S,表示SUID权限不可用
SBIT表示用户在该目录下创建的文件或目录只能自己和root删除,需要具备wx的权限,且只对目录有效,此时x变成t,若无x权限,则显示为T,表示SBIT权限不可用
SUID=4
SGID=2
SBIT=1
16、which ifconfig 列出第一次查找到的脚本命令路径
-a 列出找到所有路径
17、whereis ifconfig 寻找特定文件的路径(通过数据库中的记录)
18、locate test.txt 寻找test.txt文件的完整路径(通过数据库中的记录)
19、find 查找文件,时间慢
20、gzip iwconfig.txt 将当前目录的iwconfig.txt压缩成iwconfig.txt.gz文件,并删除源文件iwconfig.txt
-d 解压缩的参数
gzip -d iwconfig.txt.gz 将当前目录的iwconfig.txt.gz解压为iwconfig.txt,并删除源文件iwconfig.txt.gz
gcat iwconfig.txt.gz 不解压直接读取iwconfig.txt.gz的内容到屏幕中去
21、bzip2 iwconfig.txt 将当前目录的iwconfig.txt压缩成iwconfig.txt.bz2文件,并删除源文件iwconfig.txt
-d 解压缩的参数
bzip2 iwconfig.txt.bz2 将当前目录的iwconfig.txt.gz解压为iwconfig.txt,并删除源文件iwconfig.txt.bz2
22、打包命令tar
压缩:tar -jcvf filename.tar.bz2 要被压缩的的文件或目录名称
查询压缩文件中的文件名:tar -jtvf filename.tar.bz2
解压:tar -jxvf filename.tar.bz2 -C 要解压到的目录
-c 新建打包文件
-t 查看打包文件有哪些文件名
-x 解打包和解压缩功能
-j 用于解压bzip2压缩的文件
-z 用于解压gzip压缩的文件
-v 将正在处理的文件名显示
-f 指定处理的文件名
-C 指定解压目录
-P 保留原本权限和属性
-p 保留绝对路径

2、网络连接相关命令
1、查看网络连接接口:
ifconfig 此命令可以显示本机中所有网络连接端口及状态
iwconfig 此命令显示无线网络的接口连接状态
2、IP连接测试(可以ping域名或IP地址)
pingbaidu.com
3、netstat 跟踪网络,用于显示各种网络相关信息
4、本地网络连接
1.修改IP,子网掩码和默认网关
ifconfigeth0 192.168.1.100(给eth0网卡分配一个IP地址)
ifconfigeth0 netmask 255.255.255.0(分配子网掩码)
routeadd default gw 192.168.1.1(修改默认网关)
1.启动或关闭eth0网卡方法一
ifconfigeth0 up/down
2.启动或关闭eth0网卡方法二
ifup/ifdwoneth0
3.启动或关闭eth0网卡方法三
iplink set eth0 on/off(启动或关闭eth0网卡)
4.动态设置网卡配置信息
dhclienteth0
5、无线网络连接
1.打开或关闭无线网卡电源
iwconfigwlan0 txpower on/off
2.启动无线网卡
ifconfigwlan0 up
3.列出区域内的无线网络
iwlistwlan0 scan
4.连接到36C无线网为例
iwconfigwlan0 essid “36C” key s:yyxcyyxc或
wpa_passphrase36C yyxcyyxc > ./36C.conf
wpa_suppliant-B -i wlan0 -Dwext -c ./36C.conf
5.动态获取ip
dhclientwlan0
6、设置ip地址和子网掩码并启动网卡eth0
ifconfigeth0 192.168…21.15 netmask 255.255.255.0 up
7、添加和删除默认网关
route-n(查询路由表)
routeadd default gw 192.168.21.254
routedel default gw 192.168.21.254
8、配置固定dns服务器
手动改/etc/resolv.conf文件
echo"nameserver218.104.111.114">>/etc/resolv.conf
9、修改dns与IP地址的映射关系的/etc/hosts文件(以下为文本格式要求)
IP DNS

3、磁盘管理与文件系统
1、df 列出整体磁盘使用量
-h 以GB、MB、KB等自行显示
2、du /home/jison 列出目录所占容量
-m 以MB显示
-s 列出目录总量
3、mount /dev/sdb1 /mnt 将磁盘sdb1挂载到mnt目录下
4、umount /dev/sdb1 卸载已挂载的磁盘sdb1(也可以卸载所挂载的mnt目录)
5、fdisk /dev/sda 对磁盘sda进行分区,参数不用记,提示相当友好
6、mkfs -t ext3 /dev/sda4 将磁盘分区sda4格式化为ext3的文件系统
7、badblocks /dev/sda4 对磁盘分区sda4进行坏道检测
-s 在屏幕上列出进度
-v 可以再屏幕上看到进度
8、parted /dev/sda print 列出硬盘sda的分区表资料
9、parted /dev/sda 8 删除硬盘sda的8号分区,立即生效,慎重。
10、parted /dev/sda mkpart[parimary|logical|extended] ext3 19.2G 19.7G
新增一个从19.2G节点处到19.7G节点处的分区
11、dd if="input file"of=“output file” bs=“block size” count=“bs*snumber”
直接对磁盘操作的备份命令

4、系统相关命令
1、top 动态查看进程变化
输入P 以CPU的使用资源排序
输入M 以内存的使用资源排序
输入N 以进程号PID排序
输入T 以CPU的使用时间TIME+排序
输入q 退出top命令
2、ps 查看某个时间点的进程运行情况
-A 显示所有进程
-l 详细列出PID信息
aux 显示所有进程
3、kill 2656 杀掉PID为2656的进程号
killall dhclient 杀掉dhclient服务开启的相关进程
4、pstree 显示进程树
-P 显示进程号
-u 显示每个进程所属账号
5、free 查看内存使用情况
-m 以MB显示
-t 显示内存与swap总量
6、uname 查看系统与内核相关信息
-a 显示所有系统相关信息
-r 只显示内核版本
7、uptime 显示top界面最上面一行
8、locale 显示系统当前默认语系
-a 显示系统支持的语系
9、LANG=C 修改当前语系为C
10、alias 显示系统当前命令的别名
alias lm=ls -l | more 设置一个命令别名为lm
unalias lm 取消lm这个命令别名
11、history 查询用过的历史命令
history 10 查询最近用过的10条命令
12、Ctrl+Alt+F1-F6 打开tty1-6六个终端的快捷键
13、reboot 马上重启
shutdown -r now
14、poweroff 马上关机
shutdown -h now
15、su - 切换为管理员用户
su jison 切换为jison用户
16、sudo 以管理员权限执行一条命令
17、useradd jison 添加一个名为jison的用户
passwd jison 修改jison的密码
userdel jison 删除jison用户
18、groupadd jison 添加一个名为jison的用户组
gpasswd jison 修改jison用户组的密码
groupdel jison 删除一个名为jison的用户组
19、init 1 单用户模式,一般用来维护系统时开启
init 3 开启文本模式的linux
init 5 开启图形模式的linux
20、startx 从命令行开启Xwindow桌面
21、last 列出目前与过去登录系统的用户相关信息
22、whoami 显示当前登录的用户
23、echo $SHELL 查看当前使用shell类型
23、chsh -s /bin/dash 改变shell的类型为dash,需重启生效
24、glxgeras glxgears是一个测试你的Linux是否可以顺利运行2D、3D的测试软件
25、glxinfo | grep rendering 提示:direct rendering: Yes 表明openGL启动正常

5、各发行版软件安装与软件源配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值