用户命令
查看系统信息
参考:https://www.cnblogs.com/rsty/p/10443680.html
pwd
显示当前目录
cd
后面不加东西就回到家目录(/home/用户
),加的话就到某地址,绝对路径则从/开始,.
表示当前目录,..
到上一级目录,-
表示上一个目录(比如原来我从A切换到B目录,用-则从B回到A目录),/
表示回到根目录,~
表示家目录
hostname
查看主机名,后面如果加新名字则修改当前主机名,但只是暂时修改,重开命令行则主机名又变回去了
id
显示当前用户信息
whoami
当前登录用户名,举例:
dawson@dawson-PC:/home/dawson/Desktop$ whoami
dawson
who
查看有哪些登录了的用户及其终端名和注册到系统的时间等,举例:
dawson@dawson-PC:/home/dawson/Desktop$ who
dawson tty7 2018-05-08 15:56 (:0)
w
查看哪些用户登录并且在干什么,举例:
dawson@dawson-PC:/home/dawson/Desktop$ w
17:14:27 up 1:18, 1 user, load average: 0.11, 0.13, 0.17
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
dawson tty7 :0 15:56 1:18m 35.22s 2.12s /usr/bi
useradd 用户名
新建用户,-g
指定用户所在组名或登录时的初始组标志号,-G
指定新用户的附加组,-P
指定用户密码,-u
指定用户标志号的数值
userdel 用户名
删除用户
groupadd
添加新的用户组,-g
指定GID(要大于500),-o
表示该组GID可以不唯一,-r
添加一个系统账号组(要小于499)
groupdel
删除用户组
groupmod
修改组属性
more 文件名 /cat 文件名 | more
用于特别多内容的文件将其一页一页显示,但只能向下翻页,如果想上下翻页都可以用-less
,如果只看头几行可以head -n
,如果想看末尾几行可以tail -n
(默认都是10行),如果想动态看文件更新可以加-f
sort 文件名
给文件内容排序输出(不改变源文件内容),默认按每行首字母排序,如果-k
加数字范围代表从每行的第某个字符到某个字符之间作为关键字排序,-r
代表逆向排序,举例:
sort -k 2,3 abc #以每行第三个字段作为关键字排序
uniq 文件
删除内容的重复行后输出(不改变源文件内容),举例:
uniq abc
diff 文件1 文件2
比较两个文件的不同,文件内容不需要排序
comm 文件1 文件2
比较两个文件,显示他们共有的行,但是要求文件内容排好序先
ln 文件1 文件2
对文件1创建一个硬链接,名字为文件2,只能对文件创建,删除源文件对其没有影响,内容还在,可以继续使用;如果加上-s
,就是创建符号链接,实质是保存了要链接文件的绝对路径及文件名,会建立一个新文件,可以对文件/目录进行创建,但是一旦源文件删除,这个也就不能用了,相当于创建一个快捷方式
umask u=rwx, g=rx, o=rw
设置创建文件时的默认权限,可以通过umask -S来查看当前设置的默认权限,举例:
dawson@dawson-PC:~/Desktop$ umask -S
u=rwx,g=rx,o=rx #默认权限
dawson@dawson-PC:~/Desktop$ umask g=rwx #修改了g的默认权限
dawson@dawson-PC:~/Desktop$ umask -S
u=rwx,g=rwx,o=rx #默认权限被修改
ls
查看当前目录文件:
-a 显示所有文件(包括隐藏文件)
-l 显示详细信息
-R 递归显示子结构目录
-ld 文件名 显示该文件目录和链接信息
-t 以文件最后修改时间排序显示
-S 以文件大小递降排序显示
su -
什么都不加将切换入root
模式,加用户名切换至某用户,输入exit
退出用户
passwd
修改用户密码,如果修改想不用原密码可以前面加sudo
history
查看输入命令历史,并且可以通过:!数字
,来运行对应命令,举例:
dawson@dawson-PC:~/Desktop$ history | tail -3
565 tail -3 history
566 ls
567 history | tail -3
dawson@dawson-PC:~/Desktop$ !566
ls
aaa abc cba 网页前端.txt #运行第566条命令ls
clear
清屏
alias 别名="命令"
给命令设置别名,举例:
alias ll="ls -l"
则输入ll
和输入ls -l
就一样了,要取消别名时就输入unalias
别名就行了,比如取消上面的ll,就:
unalias ll
whereis 命令名
告诉你命令存放的位置,举例:
dawson@dawson-PC:~$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
basename
取你指令中的最后一个文件名,例如:
basename /home/dawson/Desktop
则结果就是Desktop
(这个目录下/home/dawson
是目录,Desktop
是文件),然后dirname
是取目录名,对前面那个就是/home/dawson
type 命令名
显示这个指令信息,加-t
参数会显示这个指令是外部指令还是内置指令,加-a
会显示PATH
下所有有其的路径
网络配置命令
ifconfig
查看网络配置,后面-a
则查看所有接口,如果后面输入的是某个接口名则只查看该接口,例如eth0
则查看eth0接口,激活接口用up
参数,关闭用down
,如启用网卡eth0:ifconfig eth0 up
,还有设置ip地址和子网掩码以及广播地址等,举例:
ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255
route
不带参数显示当前路由表内容,可以设置网关,如:
route add default gw 192.168.120.240
删除就把add
改成del
;也可以设置路由,如:
route add -net 221.56.76.0 netmask 255.255.255.0 eth0
setup
直接进入网络配置界面
host 网址
测试DNS解析是否正常,如果返回ip地址则正常,dig
命令也可以解析,并且返回的内容更详细
ip route
显示路由表
traceroute url
追踪到达目标地址的网络路径
nslookup
检测DNS服务器,输入后会进入一个>
提示符的界面,里面可以输入域名或ip地址检测DNS,或者直接:
nslookup ip/域名
mtr url
对达到目标地址进行网络测试(结合ping
和traceroute
),会动态更新路由信息,loss
表示丢失率,snt
表示发了多少包,
任务进程命令
后面加&
如果直接打开一个文件,将会使当前命令行在占用当中,加了&
可以在后台打开某文件,从而继续使用命令行,例如后台打开火狐:
firefox &
sleep 时间
让某个任务停止多长时间、
bg 数字
让第几个任务继续在后台运行
fg 数字
让第几个任务在前台运行
jobs
查看后台作业情况,例如上面命令把火狐放后台运行,则jobs后会看到火狐
ps
查看当前系统中运行的进程信息
-e 显示所有进程信息
-f 显示详细信息
-数字 显示某一id进程信息
r (没有-)只显示正在运行的进程
u (没有-)以偏用户风格样式显示
kill pid
终止某一个进程,进程可以用ps
查看
解压缩命令
zip 压缩后文件名 文件名
压缩某文件并命名,还有用gzip
压缩,把zip
改成gzip
就行了
unzip 压缩文件名
解压某文件
tar -cvf 归档后文件名 文件名
归档某文件(只打包不压缩),-c
创建归档,如果想归档的同时也压缩则用-cvzf
(gzip压缩),f
是指定压缩文件,z
是按gzip压缩,v
是显示操作过程,如果是按bzip2
压缩就是j
,如果是按compress
压缩是Z
tar -xvf 归档文件名
解放某归档文件,如果是.tar.gz
文件(即经过gzip压缩的)就要-xvzf
,如果是.tar.bz2
就要-xvjf
文件管理命令
cp 源文件名 目标文件名
复制某文件,并赋予新文件名,如果源文件名后面加的只是地址,则将源文件复制到某目录下,名字不变
cp -r 源文件夹 目标文件夹
复制文件夹,如果要查看详细信息则-v
mv 源文件名 目标文件夹/目标文件名
移动文件到目标文件夹/文件重命名
touch
后面加个文件名,创建一个新文件或者修改指定文件的时间标签
rm 文件名
删除某个文件,如果是文件夹要加个-r
在前面,如果删除的内容要自己确认哪个删哪个不删则加-i
,如果要强制删除则-f
cat
查看某文件内容,但主要是文本文件,假如是二进制文件可能就会都是乱码,所以可以用od
来读取二进制(od 文件名
)
tee
将某文件重定向的同时还输出在屏幕上
mkdir 文件夹名(目录)
创建一个文件夹(目录),如果加-p
,则可以循环创建目录,举例:
mkdir a/b/c
则依次创建这三个目录,如果想创建时就确定他的权限就可以用-m
参数,举例:
mkdir -m 777 abc
rmdir 文件夹名(目录)
删除一个空文件夹(空目录),要删除非空的就用前面的rm -r
file 文件名
查看文件类型
directory:目录文件
-:普通文件,或更准确地说,不属于以上几种类型的文件
l:符号链接(指向另一个文件,类似于瘟下的快捷方式)
s:套接字文件
b:块设备文件,二进制文件
c:字符设备文件
p:命名管道文件
locate 关键词
快速搜索带某关键字文件,因为是直接查数据库所以查的快,但有时可能不能实时查到最新的文件,需要updatedb
更新数据库,可能会花点时间
find 查找位置 查找参数 参数数据
查找位置如果在当前目录则.
,如果根分区则/
,查找参数如果按名字则-name
,参数数据可以参考通配符(例如查找所有配置文件:*.conf
)
grep 关键字 目录
基于某个关键字在该目录下搜索文本
-I 忽略大小写
-n 显示结果所在行数
-v 输出不带关键字的行
-Ax 输出包含结果开始之后的内容
-Bx 输出包含结果所在行之前的内容
wc 文件名
统计文本信息
-l 只统计行数
-w 只统计单词
-c 只统计字节数
-m 只统计字符数
sed
显示文件某行、第几行到第几行,参考:
https://blog.csdn.net/wuzhiwuweisun/article/details/79136308
sort 文件名
对文本内容进行排序
-r 倒序排序
-n 基于数字排序
-f 忽略大小写
-u 删除重复行
diff 文件名1 文件名2
比较两文件信息
-I 忽略大小写
-b 忽略空格数量的改变
-u 统一显示比较信息
sed 's/搜索内容/替换成的内容/g' 文件名
用于搜索某文件里的内容并对该内容进行替换,g
如果不写则只替换第一个,有g则全部替换
vim/vi 文件名
用vim编辑器编辑
i 当前位置开始插入
I 当前行的行首开始插入
o 在当前行回车进入下一行
dd 删除整行
yy 复制当前行
n+yy 复制n行当前行
P 粘贴
u 撤销
r 替换当前字符
/ 查找关键字
:w 保存
:q 退出
:q! 直接退出不保存
:wq 保存并退出
:x 只有当内容被修改过后才保存并退出,否则直接退出
:ZZ 和x一样
number 显示行号
:!系统命令 运行系统命令并显示结果
:sh 切换回命令行(要再切换回来则ctrl+d),每次用快捷键需要按下esc退出前个模式
特殊
sz 文件名
将linux文件保存到windows本地,需要安装,然后一般在windows远程终端(如xshell)运行(在linux命令行里运行会卡住)
系统命令
init 数字
1-单用户模式(进来就只能是root模式,密码都不用输,如果要修改root的密码必须得进这里面改)
2-不带网络的多用户模式(进来输入用户名密码登录),只有命令行界面
3-多用户模式,只有命令行界面(常用)
5-图形界面,就是正常开机的(常用)
6-重启
shutdown -h/-r 时间
-h
则多久后关机,-r
多久后重启(时间可以是now
、+10
代表10分钟后、23:30
代表那时候关)如果想立即关机则poweroff
,如果要立即重启则reboot
,举例:
shutdown -h now #立刻关机
date
查看当前系统时间,可以后面加显示格式,例如:
date +%Y/%m/%d
cal
看日历时间,想看某月某日则:cal month year
,例如:
cal 3 2018
bc
计算器,输入后即可输入计算语句(例如:1+1
等),默认整数精度,要精确小数则先输入:scale=精确度数
(例如:scale=3
),输入quit
离开
uptime
看系统使用时间
lspci
看PCI设备,-v
看详细信息
lsusb
看USB设备,-v
看详细信息
lsmod
看加载模块,驱动信息
uname -r
查看系统内核信息,举例:
dawson@dawson-PC:~$ uname -r
4.9.0-deepin9-amd64
lsb_release -a
查看LSB
(Linux Standard Base)信息,举例:
dawson@dawson-PC:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Deepin
Description: Deepin 15.4.1
Release: 15.4.1
Codename: unstable
top
性能分析
fdisk
磁盘操作命令,需要root
权限
-h/--help
查看该命令下的帮助
man 命令名
列出某一命令的完整说明
info 命令名
列出更详细的命令说明
which 命令名
找到命令存放的位置,whereis
也是查找命令存放的位置,但假如一个命令在/bin
和/root
都有,which
只有输出第一个找到的位置,而whereis
会把所有找到的位置都输出
chmod 模式 文件名
修改文件权限,模式可以用+
、-
来加减权限,如给用户加读、写权限则chmod u+rw 文件名
,还有一种数字方式,其中权限r=4
,w=2
,x=1
,例如UGO都可读写则为chmod 666 文件名
sync
将数据同步写入磁盘
df
查看磁盘使用量,加-h
可以?以较易阅读的KB/GB等格式显示
dump
备份文件系统
restore
恢复备份
RPM软件包管理
rpm -i 文件名(包括版本后缀名rpm)
安装软件(一般会加上详细信息v
和显示进度条h
,即-ivh
)
rpm -e 文件名(就前面文件名)
卸载软件
rpm -U 文件名(包括新版本号和后缀名)
更新软件
rpm -K 文件名(包括版本后缀名)
验证该安装包是否被恶意修改,ok则说明没问题
rpm -V 文件名(就前面文件名)
查看该文件安装后是否修改过
rpm -qa
显示所有rpm包安装的文件
rpm -qi 文件名(就前面文件名)
显示该软件详细信息,如果是为安装的软件想要查看其详细信息就加个p,即-qip
rpm -ql 文件名(就前面文件名)
列出属于这个软件的文件,未安装的就-qlp
yum软件管理
yum install 软件名(就软件名)
安装软件
yum remove 软件名
删除软件
yum update 软件名
更新软件
yum search 关键字
搜索包含该关键字的软件
yum list all/installed/recent/updates
列出所有/安装/最近/更新的软件信息
yum info 软件名
查看该软件详细信息
第三方命令
sar
查看当前系统情况,安装:yum install sysstat
,参考:
https://www.cnblogs.com/chris-cp/p/3674768.html
http://lovesoo.org/linux-sar-command-detailed.html