码迷,mamicode.com
首页 > 系统相关 > 详细

基本操作总结丨linux

时间:2018-06-25 17:01:25      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:groupadd   call   sys   功能   自带   目录树   init   strong   unzip   

此文档逐步更新累积

1. 通配符:

参数 含义
* 代表文件名中任意多个字符,也可以没有

ls te* 查找以te开头的文件
ls *html 查找结尾为html的文件

参数 含义
? 代表文件名中任意一个字符,一定有1个,不能没有

ls ?.c 只找第一个字符任意,后缀为.c的文件
ls a.? 只找只有3个字符,前2字符为a.,最后一个字符任意的文件

参数 含义
[] [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个,“-”用于表示字符范围。

[abc] 匹配a、b、c中的任意一个
[a-f] 匹配从a到f范围内的的任意一个字符
ls [a-f]* 找到从a到f范围内的的任意一个字符开头的文件
ls a-f 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用

参数 含义
\ 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。"?”和“*”处于方括号内时不用使用转义字符就已经失去通配符的作用,无需再对其转义。

ls \a 查找文件名为 \a的文件


2. cd

参数 含义
. 切换到当前目录
.. 切换到上层目录
~ 切换到当前用户的主目录(/home/用户目录)
- 在最后两次的路径之间切换

3. ls

参数 含义
-a 显示隐藏文件 以‘ . ‘开头的文件为隐藏文件
-l 列表显示风格

以列表方式显示目录内容后,第一个字符代表的东西
d: 文件夹
-: 普通文件
c: 硬件字符设备
b: 硬件块设备
s: 管道文件
I: 软链接文件

参数 含义
-h 需配合-l使用 显示一个合理的大小单位

ls -alh 或 ls -lha
多个参数选项可以组合到一起写,没有先后顺序之分

技术分享图片


4. 输出重定向 > / >>

Linux允许将 命令执行结果 重定向到一个文件,本应显示在终端上的内容 保存到指定文件中

所谓的重定向其实就是修改了默认的输出方向

‘>’ 输出重定向会覆盖原来的内容;先清空目标文件,而后添加内容
‘>>’ 输出重定向则会将输出结果追加到文件的尾部;直接在原有内容尾部添加内容,不清空里面的原有内容


5. 分屏显示: more

看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容
此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键 退出显示,按下h键可以获取帮助


6. 管道符:|

管道:一个命令的输出可以通过管道做为另一个命令的输入
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来
这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)
ls -alh | more


7. 清屏: clear

clear作用为清除终端上的显示 (类似于DOS的cls清屏功能),也可用快捷键:Ctrl + l ( “l” 为字母 )


8. pwd

显示当前操作的绝对路径


9. mkdir

通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限

技术分享图片


10. rmdir

可使用rmdir命令删除一个目录。
必须离开此目录,并且此目录必须为空目录,不然提示删除失败


11. rm

可通过rm删除文件或目录。
使用rm命令要小心,因为文件删除后不能恢复,所以为了防止文件误删,可以在rm后使用 -i 参数以逐个确认要删除的文件

参数 含义
-i 以进行交互式方式执行
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除非空文件夹时必须加此参数

12. tree:以目录树的方式显示目录结构

tree [目录名]


13. ln 建立链接文件

1.软连接

ln -s 源文件 新链接文件名
链接文件类似于Windows下的快捷方式,软链接不占用磁盘空间,源文件删除则软链接失效
(软连接其实指向的是源文件名这个地址,当‘rm源文件名‘后,这个源文件地址删除后,软连接自然就找不到源文件名所指向的文件内容了)

2.硬链接
ln 源文件 新链接文件名
每新建一个硬链接,就好比多分配了一个地址来指向文件内容;硬链接只能链接普通文件,不能链接目录
(源文件名其实也是个地址,指向对应的文件内容)
(‘ rm 文件名 ‘操作其实是删除了指向文件内容的文件名【地址】,并没有直接删除文件内容,只是让你再也找不到这个文件名对应的内容)


14. cat

查看文件内容(最好是一屏就能显示,过多用more)
或合并多个文件内容(配合重定向‘>‘使用)
cat 1.txt 2.txt > 3.txt (1.txt和2.txt顺序会影响合并后的内容前后)

cat -A 文件 查看以dos(windows)创建的文件的特殊格式


15. grep

Linux系统中grep命令是一种强大的文本搜索工具
grep允许对文本文件进行模式查找,如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式为:
grep [-选项] ‘搜索内容串’ 文件名
常用选项说明:

选项 含义
-v 显示不包含匹配文本的所有行(相当于求反)
-n 显示匹配行及行号
-i 忽略大小写

在grep命令中输入搜索内容串时,最好引号或双引号括起来。例如:grep ‘a ’1.txt

grep搜索内容串可以是正则表达式
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

grep常用正则表达式:
|参数| 含义|示例|
|-|-|-|
|^a|行首,搜寻以 a 开头的行|grep -n ‘^a‘ 1.txt|
|ke$|行尾,搜寻以 ke 结束的行|grep -n ‘ke$‘ 1.txt|
|[Ss]igna[Ll]| 匹配[]中一系列字符中的一个搜寻匹配单词signal、signaL、Signal、SignaL的行|grep -n ‘[Ss]igna[Ll]‘ 1.txt|
|. (点) |匹配一个非换行符的字符匹配 e 和 e 之间有任意一个字符;可以匹配 eee,eae,eve,但是不匹配 ee,eaae|grep -n ‘e.e‘ 1.txt|


16. --help

ls --help:可看到Linux命令自带的帮助信息


17. man

(manual手册)是linux提供的一个手册,包含了绝大部分的命令、函数使用说明
该手册分成很多章节(section),使用man时可以指定不同的章节来浏览。
例:
man ls (实际上,我们不用指定第几个章节也能查看)
man 2 printf (使用章节号:2 来查看)
man中各个section意义如下:

  1. Standard commands(标准命令)
  2. System calls(系统调用,如open,write)
  3. Library functions(库函数,如printf,fopen)
  4. Special devices(设备文件的说明,/dev下各种设备)
  5. File formats(文件格式,如passwd)
  6. Games and toys(游戏和娱乐)
  7. Miscellaneous(杂项、惯例与协定等,例如Linux档案系统、网络协定、ASCII 码;environ全局变量)
  8. Administrative Commands(管理员命令,如ifconfig)

man是按照手册的章节号(上面的1-8)的顺序进行搜索的。
man设置了如下的功能键:

功能键 功能
空格键 显示手册页的下一屏
Enter键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出man命令
h 列出所有功能键
/word 搜索word字符串

技术分享图片


18. tab

在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令


19. history

显示历史命令
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来


20. find

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
常用用法:

命令 含义
find ./ -name test.sh 查找当前目录下所有名为test.sh的文件
find ./ -name ‘*.sh‘ 查找当前目录下所有后缀为.sh的文件
find ./ -name "[A-Z]*" 查找当前目录下所有以大写字母开头的文件
find /tmp -size 2M 查找在/tmp 目录下等于2M的文件
find /tmp -size +2M 查找在/tmp 目录下大于2M的文件
find /tmp -size -2M 查找在/tmp 目录下小于2M的文件
find ./ -size +4k -size -5M 查找当前目录下大于4k,小于5M的文件
find ./ -perm 0777 查找当前目录下权限为 777 的文件或目录

21. cp

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。

常用选项说明:
|选项| 含义|
|-|-|
|-a| 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性|
|-f| 直接覆盖已经存在的目标文件而不提示|
|-i|交互式复制,在覆盖目标文件之前将给出提示要求用户确认|
|-r| 若给出的源文件是目录及其文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名|
|-v| 显示拷贝进度|

a b为文件夹
cp a b 将a文件夹整体复制到b文件夹下
cp a/* b 将a文件夹下的所有内容赋值到b文件夹下


22. mv

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名

常用选项说明:
|选项| 含义|
|-|-|
|-f| 禁止交互式操作,如有覆盖也不会给出提示|
|-i| 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件|
|-v| 显示移动进度|


23. which

查看命令所在位置,如果找到该命令,会显示出该命令的位置
which ls


24. tar

只是做打包,并没压缩

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式 :
tar [参数] 打包成的文件名 被打包的文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用“-”。

常用参数:
|参数|含义|
|-|-|
|-c| 生成档案文件,创建(create:这是我自己认为的)打包文件|
|-v| 列出归档解档的详细过程,显示进度|
|-f| 指定档案文件名称,f 后面一定是.tar文件,所以必须放选项最后|
|-t| 列出档案中包含的文件|
|-x| 解开档案文件|
注意:除了f需要放在参数的最后,其它参数的顺序任意

技术分享图片

将当前目录下的所有文件以及子文件夹,打包成归档文件,未压缩

技术分享图片

解开打包的归档文件,并不是解压缩

tar这个命令本身并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,这样就实现了一个先打包后压缩的过程。

压缩用法:
tar cvzf 打包并压缩的压缩包包名.tar.gz 文件...
参数 含义
-z 指定压缩包的格式为:xxx.tar.gz

技术分享图片

解压用法:
tar zxvf 压缩包包名.tar.gz

技术分享图片

默认解压到当前路径下
可加- C (注意是大写字母C)指定解压到的目录

技术分享图片


25. 文件压缩/解压之 gzip

tar与gzip命令结合使用实现文件打包、压缩。
tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz
gzip使用格式如下:
gzip [选项] 被压缩的文件.tar
常用选项:
选项 含义
-d 解压
-r 压缩所有子目录

技术分享图片

压缩test.rar文件,最终生成的压缩文件名默认在被压缩tar文件名后加上 .gz

技术分享图片

用gzip压缩tar打包后的文件,指定被压缩后的文件名

技术分享图片

解压缩tar.gz文件,解出tar文件,并没有解包


26. 文件压缩/解压之 bzip2

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名.tar.gz 文件...
tar jcvf bk.tar.bz2 *.c

解压用法:tar -jxvf 压缩包包名.tar.gz
tar jxvf bk.tar.bz2

可加- C (注意是大写字母C)指定解压到的目录,这点同tar -zxvf xxx.tar.gz -C ./Test


27. 文件压缩/解压之 zip/unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip

压缩文件:zip [-r] 目标压缩文件名(无需指定扩展名) 源文件

解压文件:unzip -d 解压后目录 待压缩文件


28. who

who命令用于查看当前所有登录系统的用户信息

常用选项:
| 选项 | 含义 |
| - | - |
| -m 或 am i | 只显示运行who命令的用户名、登录终端和登录时间|
|-q 或 --count| 只显示用户的登录账号和登录用户的数量|
|-u 或 --heading| 显示列标题|


29. whoami

whoami该命令用户查看当前系统当前账号的用户名。
可通过cat /etc/passwd查看系统用户信息。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份


30. ifconfig

查看ip地址(windows:ipconfig)
ifconfig

修改ip
ifconfig ens33 192.168.1.100

卸载网卡
ifconfig ens33 down

装载网卡
ifconfig ens33 up


31. ping

ping ipaddr 测试网络连通性


32. ssh

远程登录
ssh 用户名@主机ip


33. exit

  • 如果是图形界面,退出当前终端
  • 如果是使用ssh远程登录,退出登陆账户
  • 如果是切换后的登陆用户,退出则返回上一个登陆账号

34. useradd

在Unix/Linux中添加用户账号可以使用useradd或adduser命令,
因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样
useradd [参数] 新建用户账号

参数 含义
-d 手动指定用户登录系统时的主目录(并不创建);如果不使用该参数,而只使用 -m 参数,系默认统自动在/home目录下建立与用户名同名目录为主目录
-m 自动创建主目录
-g 指定组名称
  • Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户)
  • 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定要给用户指定一个主目录
  • 用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的
  • 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名
命令 含义
useradd -d /home/abc abc -m 创建abc用户,如果/home/abc目录不存在,就自动创建/home/abc这个目录,同时用户属于abc组
useradd -d /home/a a -m -g test 创建一个用户名字叫a,主目录在/home/a,如果主目录/home/a不存在,就自动创建主目录,同时用户属于test组
cat /etc/passwd 查看系统当前用户名

35. userdel

删除用户

命令 含义
userdel abc(用户名) 删除abc用户,但不会自动删除用户的主目录
userdel -r abc(用户名) 删除用户,同时删除用户的主目录

36. 用户组

查看用户组
方法一:cat /etc/group
方法二:groupmod + 三次tab键

新建组账号 groupmod
groupadd 组账号名

删除组账号 groupdel
groupdel 组账号名

修改用户所属组 usermod
usermod -g 新用户组名1 用户名

将用户追加到新组,同时保留原组,现在用户既属于旧组又属于新组
usermod -a -G 新用户组名2 用户名

技术分享图片

查看用户在哪些组
groups 用户名


37. 切换用户 su

su 需要切换的用户名
su - 需要切换的用户名;切换用户后,还会主动跳转到该用户的家目录

命令 含义
su 切换到root用户
su root 切换到root用户
su - 切换到root用户,同时切换目录到/root
su - root 切换到root用户,同时切换目录到/root
su 普通用户 切换到普通用户
su - 普通用户 切换到普通用户,同时切换普通用户所在的目录

38. sudo

当需要有超级管理员权限时需要添加的,并且sudo加在对应命令的最前面,紧接着一个空格分隔
sudo passwd wei 切换到用户wei
sudo -s 直接切换成root用户

技术分享图片

为创建的普通用户添加sudo权限

新创建的用户,默认不能sudo,需要进行一下操作
sudo usermod -a -G adm 用户名 将用户追加到adm组
sudo usermod -a -G sudo 用户名 将用户追加到sudo组

技术分享图片


39. passwd

设置用户密码
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令
用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名
sudo passwd wei


40. 修改文件(文件夹)权限 chmod

修改文件权限有2种使用格式:字母法和数字法

1.字母法
chmod u/g/o/a +/-/= rwx 文件

参数 含义
u user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组( group )者,即用户组
o other 表示其他以外的人
a all 表示这三者皆是
+ 增加权限
- 撤销权限
= 设定权限,未设置的默认没有权限
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录

chmod u+x file.txt 为文件所有者添加可执行权限
chomod g-w file.txt 为同组者减去可写权限
chmod o+w file.txt 为其他人添加可写权限
chmod u=rw,g=x,o=r file.txt 同时进行拥有者、同组者以及其他人的权限设定
chmod u=,g=,o= file.txt 去除拥有者、同组者以及其他人的所有权限

2.数字法

字母 数字对应
r 读取权限,数字代号为 "4"
w 写入权限,数字代号为 "2"
x 执行权限,数字代号为 "1"
- 不具任何权限,数字代号为 "0"

rwx的组合可以和数字等价
chmod u=rw,g=x,o=r file.txt 等价于 chmod u=7,g=5,o=4 file.txt

也可以不加 u,g,o;直接用数字设置权限
chmod 751 file:
7这位代表:文件所有者:读、写、执行权限
5这位代表:同组用户:读、执行的权限
1这位代表:其它用户:执行的权限

如果想递归所有目录加上相同权限,需要加上参数“ -R
如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限


41. 修改文件所有者身份 chown

chown 新所有者名 file.txt


42. 修改文件所属组 chgrp

chgrp 新组名 file.txt


43. 查看当前日历 cal

用于查看当前日历

技术分享图片


44. 显示或设置时间 date

设置时间
date [MMDDhhmm[[CC]YY][.ss]]

参数 含义
MM
DD
hh 小时
mm 分钟
CC 年的前两位,世纪
YY 年的后两位
ss

date 010203042016.55

显示时间
date ‘+%y,%m,%d,%H,%M,%S‘

参数 含义
%Y,%y 年;%Y:2018;%y:18
%m
%d
%H
%M
%S

注意大小写


45. 查看进程信息 ps

进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。
ps命令可以查看进程的详细状况

常用选项如下:
|参数|含义|
|-|-|
|-a|显示终端上的所有进程,包括其他用户的进程|
|-u|显示进程的详细状态|
|-x|显示没有控制终端的进程|
|-w|显示加宽,以便显示更多的信息|
|-r|只显示正在运行的进程|


46. 动态显示进程 top

top命令用来动态显示运行中的进程。
top命令能够在运行后,在指定的时间间隔更新显示信息。
可以在使用top命令时加上-d 来指定显示信息更新的时间间隔。

在top命令执行后,可以按下按键得到对显示的结果进行排序
|按键|含义|
|-|-|
|M|根据内存使用量来排序|
|P|根据CPU占有率来排序|
|T|根据进程运行时间的长短来排序|
|U|可以根据后面输入的用户名来筛选进程|
|K|可以根据后面输入的PID来杀死进程|
|q|退出|
|h|获得帮助|


47. 终止进程 kill

kill命令,杀死指定进程号的进程,需要配合 ps 使用。
使用格式:
kill [-signal] pid
信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。

kill 9133
9133 为应用程序所对应的进程号

有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束


48. 关机重启:shutdown/reboot/init

命令 含义
reboot 重新启动操作系统
shutdown –r now 重新启动操作系统,shutdown会给别的用户提示
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 系统在今天的20:25 会关机
shutdown -h +10 系统再过十分钟后自动关机
init 0 关机
init 6 重启

49. 检查文件系统的磁盘空间 df

df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况

参数 含义
-a 显示所有文件系统的磁盘使用情况
-m 以1024字节为单位显示
-t 显示各指定文件系统的磁盘空间使用情况
-T 显示文件系统

50. 检测目录所占用的磁盘空间 du

du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。

du命令的使用格式如下:
du [选项] 目录或文件名

参数 含义
-a 递归显示指定目录中各文件和子目录中文件占用的数据块
-h 以更可读的方式显示
-s 显示指定文件或目录占用的数据块
-b 以字节为单位显示磁盘占用情况
-l 计算所有文件大小,对硬链接文件计算多次

基本操作总结丨linux

标签:groupadd   call   sys   功能   自带   目录树   init   strong   unzip   

原文地址:https://www.cnblogs.com/vroot/p/basic_operation-linux.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!