Linux 常用命令

用户命令

查看系统信息

参考: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

对达到目标地址进行网络测试(结合pingtraceroute),会动态更新路由信息,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=4w=2x=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

你可能感兴趣的:(Linux 常用命令)