linux常用命令笔记

一、格式

1、linux命令提示符

[root@songxioakun ~]#
[当前登录用户@当前主机名 当前所在目录]#
~ 表示用户家目录
后面的 # 表示当前用户是超级用户,如果是 $ 表示普通用户

2、linux命令格式

命令 [选项] [参数]
选项:用于调整命令功能。缩略选项用一个 - ,完整选项用两个 -
参数:命令操作的对象,如果省略参数,表示默认。

二、常用命令

命令类型分为内部命令和外部命令。
内部命令:shell自带的,没有明确的可执行文件
外部命令:后期开发,有可执行文件

1、ls 命令

所在路径:/bin/ls   所有用户可执行
命令功能
ls直接执行ls命令,显示当前目录下子目录和子文件
ls -l长格式显示,ls -l的别名是ll
ls --color=never显示目录下内容,但不显示颜色
ls -a显示所有文件包括隐藏文件
ls -h以常用单位显示文件大小
ls -d只显示目录
ls -i显示文件inode号(索引节点)

2、目录操作命令

(1)cd 命令-切换目录

cd [目录路径]
路径分为 相对路径和绝对路径
相对路径:参考当前所在目录进行查找。
绝对路径:从根目录开始指定,一级一级递归查找,在任何目录下都能进入指定位置

命令功能
cd ~进入当前用户的家目录,直接执行cd效果一样
cd -进入上次所在目录
cd . .进入上一级目录

(2)pwd 命令 #显示当前所在目录绝对路径

(3)mkdir 新建目录

mkdir [目录名]

命令功能
rmdir 目录名删除目录,只能删除空目录
mkdir -p 目录名递归建立目录,例如mkdir -p 11/22/33

2、文件操作命令

直接列表,目录里看不到了。

命令选项功能
touch 文件名创建空文件或修改文件时间(如果没有这个文件则创建文件,如果存在只修改文件时间)
stat 文件名查看文件详细信息,可以看到文件的‘最近访问’、‘最近更改’(数据修改)、‘最近改动’(状态修改)三个时间
cat 文件名查看文件内容,从头到尾
-n列出行号显示内容
-T把tab建以^I的形式显示出来
-E列出每行的回车符用$
-v列出特殊字符
-A相当于-vET选项的整合,用于列处所有隐藏符号
more 文件名分屏显示内容,b向上翻页,空格向下翻页,回车向下滚动一行,/字符串 是搜索指定字符串(从当前页往后搜)q退出
less 文件名分行显示内容,↑↓键一行一行翻
head 文件名显示文件开头
-n指定显示文件头n行,也可以用 head -n 行数 文件名
tail 文件名显示文件尾
-n指定显示文件尾n行
-f监听文件尾不退出,适合监听实时文件,ctrl+c 终止,退出

cat命令的几个选项展示:

[root@akun ~]# cat -E abc
my name is Xiaokun Song ,tab	1,$
行尾有回车以$表示$
这里一个tab,用^I表示的$
[root@akun ~]# cat -T abc
my name is Xiaokun Song ,tab^I1,
行尾有回车以$表示
这里一个tab,用^I表示的
[root@akun ~]# cat -A abc
my name is Xiaokun Song ,tab^I1,$
[root@akun ~]# cat -n abc
     1	my name is Xiaokun Song ,tab	1,
     2	行尾有回车以$表示
     3	这里一个tab,用^I表示的

3、文件、目录操作命令

命令选项功能
rm 文件名删除文件或目录
-r递归删除目录
-f强制
cp 源文件 目标位置复制
-r复制目录需要用-r
-p连带文件属性复制
-d若源文件是连接文件,则复制连接属性
-a相当于-pdr
mv 源文件 目标地址剪切或改名
alias查看系统中的别名
alias 别名=‘实际命令’临时设置别名,注意单引号,如:alias ser=‘service network restart’, 别名优先级高于命令
如果想永久设置别名可以吧这条alias命令写到用户家目录下的bashrc文件中(~/.bashrc 环境变量设置文件)对单个用户生效,写入/etc/bashrc对所有用户生效
ln 源文件 目标文件创建硬链接文件,文件必须用绝对路径
-s创建软连接文件,ln -s 源文件 目标文件
软链接与硬链接特点

根目录的i节点号是固定的2(在系统加载时已经把1占用了)
一个文件i节点里包括了文件的i节点号、时间、权限、block块位置
文件的block中存的是文件的数据
目录的block中存的是所有子目录和子文件的文件名和i节点号

(1)硬链接
  • 源文件和硬链接拥有相同的iNode号和Blook块,可以看成同一个文件
  • 修改任意一个文件,另一个内容随之改变
  • 删除任意一个文件,另一个都可以正常使用,除非两个都删除才不能访问
  • 硬链接不能跨分区
  • 硬链接不能链接 目录
  • 硬链接的特征不够明显,很难判断两个文件是硬链接
    (一般不推荐用硬链接)
(2)软链接
  • 软链接有自己独立的iNode号和Block,但是Blook不记录实际数据,只写入源文件的文件名和iNode号
  • 源文件大小改变,软链接大小不变
  • 软链接是最大权限lrwxrwxrwx,但访问受源文件权限限制
  • 修改任意一个文件,另一个内容随之改变
  • 删除软链接,源文件不变,但删除源文件,软链接无法访问
  • 软链接可以跨分区
  • 软链接可以链接目录
  • 软连接特征明显

4、权限命令

详细总结点这里
格式:
chmod 要改的命令 文件名

命令功能
chmod u+x aa给aa文件属主加上执行权限
chmod g-r aa给aa文件属组去掉执行权限
chmod g+w,o+w aa同时给属组和其他人加上写入权限,用逗号隔开
chmod u=rwx aa直接给aa文件属主指定权限
chmod 755 aa用对应数字直接给aa文件的属主、属组、其他人权限

默认权限
Linux通过umask权限来保证所有文件和目录有默认权限

umask可以查看系统当前用户umask值
umask -S以字母形式显示权限,S大写。
umask 0002临时修改umask值为0002

属主属组命令

格式:
chown 用户名 文件名 修改属主
chgrp 组名 文件名 修改属主

命令功能
chown user1 aa把aa文件的属主,设置为user1,前提是user1必须存在
chown user1:group1 aa同时把aa文件的属主改为user1,属组改为group1,这个冒号:也可以用点.

5、帮助命令

(1)man命令
命令功能
man 命令名查看命令的帮助
man -f 命令名查看命令拥有那个级别的帮助
whatis 命令名等同于man -f 命令名
man 级别 命令名查看命令某个级别的帮助

快捷键:

快捷键功能
上箭头↑向上移动一行
下箭头↓向下移动一行
PgUp向上翻一页
PgDa向下翻一页
g移动到第一页
G移动到最后一页
q退出
/字符串从当前页向下搜索字符串
?字符串从当前页向上搜索字符串
n当搜索字符串时,可以使用n键找到下一个字符串
N当搜索字符串时,使用N键反向查询字符串。也就是说,如果使用‘’/字符串‘’方式搜索,则N键表示向上搜索字符串;如果使用‘’?字符串‘’方式搜素,则N键表示向下搜索字符串

man命令的帮助等级:

命令级别功能
1普通用户可执行的系统命令和可执行文件的帮助
2内核可以调用的函数和工具的帮助
3c语言函数的帮助
4设备和特殊文件的帮助
5配置文件的帮助
6游戏的帮助(个人版的linux中是有游戏的)
7杂项的帮助
8超级用户可以执行的系统命令的帮助
9内核的帮助

查看命令拥有那个级别的帮助:
man -f 命令whatis 命令

(2)help 命令
命令功能
help 内部命令查看一些shell内部命令的帮助
命令名 --help查看命令常见选项

可以使用type命令来区分内部命令与外部命令
shell是linux的命令解释器

(3)–help 选项

绝大多数命令都可以使用“–help”选项来查看帮助,这也是一种获取帮助的方法。例如:

[root@akun ~]# ls --help

输出内容有中文注释

[root@akun ~]# ls --help
用法:ls [选项]... [文件]...
列出 FILE 的信息(默认为当前目录)。
如果不指定-cftuvSUX 或--sort 选项,则根据字母大小排序。

长选项必须使用的参数对于短选项时也是必需使用的。
  -a, --all			不隐藏任何以. 开始的项目
  -A, --almost-all		列出除. 及.. 以外的任何项目
      --author			与-l 同时使用时列出每个文件的作者
  -b, --escape			以八进制溢出序列表示不可打印的字符
      --block-size=大小		块以指定大小的字节为单位
  -B, --ignore-backups		不列出任何以"~"字符结束的项目
#。。。后边内容就不展示了

这种方法非常简单,输出的帮助信息基本是man命令的信息简要版。

(4)info 命令
命令功能
info 命令名info相当于一本书,查的其实是info中的一个小节

快捷键:

快捷键功能
上箭头↑向上移动一行
下箭头↓向下移动一行
PgUp向上翻一页
PgDa向下翻一页
Tab在有“*”符号的节点间进行切换
回车进入该子页面(有“*”符号的子页面),查看详细帮助信息
u进入上层界面(回车是进入下层)
n进入下一个帮助小结
p进入上一个帮助小结
?查看帮助信息
q退出

6、查找和搜索命令

命令功能
which 命令名查找命令位置的命令,能看到相关别名
whereis 命令名查找命令位置的命令,同事看到帮助文档位置
locate 文件名按照文件名查找,从数据库中查找 ,updatedb 可以强制更新数据库
/var/lib/mlocate/mlocate.db #locate命令所搜索的后台数据库位置
/etc/updatedb.conf 配置文件用来定义locate命令查询范围

locate优点:按照数据库搜索,搜索速度快,消耗资源小。
缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改时间等搜索文件。
注: 如果新建一个文件,用locate搜索不到,因为数据库没有更新,用updatedb命令更新一下数据库,就可以搜到了

updatedb.conf 配置文件中:
PRUNE_BIND_MOUNTS = "yes"
#PRUNE_BIND_MOUNTS= "yes"开启搜索限制,也就是这个文件生效
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
#PRUNEFS=用locate执行搜索时,禁止搜索的文件系统类型
PRUNENAMES = ".git .hg .svn"
#PRUNENAMES = 禁止搜索带有这些扩展名的文件
PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"
#PRUNEPATHS =locate搜索是禁止搜索的目录

1)find命令

find命令详细笔记←
find 搜索位置 [选项] [参数]

选项作用
-iname按照文件名搜索,不区分大小写
-inum按照iNode号搜索
-size 大小按照文件大小搜索
-atime ±时间按照文件的访问时间搜索
-mtime ±时间按照文件数据修改时间搜索
-ctime ±时间按照文件状态修改时间搜索
-perm 权限模式查找文件权限刚好等于“权限模式”的文件
-perm -权限模式查找文件权限全部包含“权限模式”的文件
-perm +权限模式查找文件权限包含“权限模式”的任意一个权限的文件
-uid 用户ID按照用户ID查找所有者是指定ID的文件
-gid 组ID按照用户组ID查找所属组是指定ID的文件
-user 用户名按照用户名查找所有者是指定用户的文件
-group 组名按照组名查找所属组是指定用户组的文件
-nouser查找没有所有者的文件
-type d查找目录
-type f查找普通文件
-type l查找软连接文件

-exec、-ok命令

1、	find 搜索路径 [选项] 搜索内容 -exec 命令2 {}  \;
-exec的作用就是把find命令的结果交给由“-exec”调用的命令2来处理,“{}”就代表find命令查找的结果。
以 \;结尾

2、-ok选项和-exec选项的作用基本一致,区别在于:-exec的命令2会直接处理,不询问,-ok的命令2在处理前会询问用户是否这样处理,得到确认后才会执行。

find命令详细笔记←点这里

2)grep命令、通配符、正则表达式

grep命令详细笔记←点这里
grep 的作用是在文件中提取和匹配符合条件的字符串,找到包含“搜索内容”的字符串
格式:
grep [选项] “搜索内容” 文件名

选项作用
-i忽略大小写
-v反向选择
-n输出行号
-color=auto搜索出来的字符串以颜色显示
grep命令和find命令的区别

1、find命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配,搜索时文件名是完全匹配的(find命令可以通过-regex选项,把匹配规则转为正则表达式规则,但不建议这样。)
2、grep命令用于在文件中搜索符合条件的字符串,如果需要模糊查询,则使用正则表达是进行匹配。搜索时字符串是包含匹配

通配符

用于匹配文件名,完全匹配

通配符作用
匹配一个任意字符
*匹配0个或多个任意字符,也就是可以匹配任意内容
[]匹配括号中任意一个字符。例如:[abc]代表匹配a或b或c其中一个
[-]匹配括号中的任意一个字符,-代表范围,如:[0-9]表示匹配一个数字
[^]逻辑非,表示匹配一个不是括号内的字符,例如,[^0-9]代表匹配一个不是数字的字符

注:使用通配符要用“”双引号括起来
[A-Z]匹配任意大写字母,[A-Za-z]表示匹配所有字母

正则表达式

用于匹配字符串,文件内容,包含匹配

正则符作用
?匹配前一个字符重复0次或一次
*匹配前一个字符重复0次,或多次
[]匹配中括号中任意一个字符。如:[abc]代表匹配a或b或c其中一个
[-]匹配括号中的任意一个字符,-代表范围,如:[0-9]表示匹配一个数字
[^]逻辑非,表示匹配一个不是括号内的字符,例如,[^0-9]代表匹配一个不是数字的字符
^匹配首行,如“^a”表示以a为行首的内容
$匹配尾行

shell把正则表达式中的?作为“扩展正则”,使用?号时要使用 egrep (也就是grep -E)
‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’。

管道符|

命令格式

	命令1 | 命令2

将命令1的正确输出作为命令2的操作对象。
管道符的功能和-exec的功能基本一致,管道符的操作属于文本流操作,find命令不支持文本流操作,所有find使用-exec。

7、命令的别名

命令的别名,主要用于照顾管理员使用习惯。

命令作用
alias查询命令别名
alias 别名=‘原命令’设置别名(临时,重启后不生效)

用命令定义的别名是临时生效的,要永久生效需要写入环境变量配置文件~/.bashrc
在家目录下的bashrc,对这个用户生效

[root@akun ~]# alias grep='grep -color=auto'
		#给grep -color=auto设置别名为grep,这样以后用grep就直接带颜色了
[root@akun ~]# vi .bashrc 

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

8、常用快捷键

快捷键作用
Tab 键命令或文件补全
ctrl+A把光标移动到命令行开头,如果输入的命令较长,想要把光标移动到命令行开头时使用
ctrl+E把光标移动到命令行结尾
ctrl+C强制终止当前命令
ctrl+L清屏,相当于clear命令
ctrl+U删除或剪切光标之前的命令。
ctrl+Y粘贴ctrl+u剪切的内容

9、压缩与解压缩

(点击看压缩详细笔记)
1)zip格式
压缩命令格式

 unzip  [选项]   压缩包名
选项作用
-r压缩目录

解压缩命令格式

 zip  [选项]   压缩包名   源文件或源目录
选项作用
-d指定解压缩位置

2)gz格式
命令格式

 gzip  [选项]     源文件
选项作用
-c将压缩数据输出到标准输出中(输出到屏幕可以看到),可以用于保留源文件
-d解压缩 gunzip 压缩包名 等同于 gzip -d 压缩包名
-r压缩目录,这个命令不会打包,-r目录 会把目录下文件分别压缩

3)bz2格式
命令格式

 bzip2  [选项]     源文件
选项作用
-d解压缩 (同bunzip2 压缩包名
-k压缩时,保留原文件
-v显示压缩详细信息

4)tar格式
命令格式

 tar  [选项]    [-f 压缩包名] 源文件或目录
选项作用
-d指定解压缩位置
-c打包
-f指定压缩包名称
-v显示打包过程
-x解打包
-t测试。解打包的时候不解,只是看看包中文件
-C指定解打包位置

5 ).tar.gz和.tar.bz2格式
这种格式是可以一次解压的,就不用想上边那样执行两次命令了
命令格式是一样的
主要解决了gzip ,bzip2命令不能打包的问题
多两个选项用来识别压缩包的格式

选项作用
-z压缩和解压缩.tar.gz格式的压缩包
-j压缩和解压缩.tar.bz2格式的压缩包

以.tar.bz2为例:

[root@akun ~]# tar -jcvf test.tar.bz2 abc 123 qwe     #把文件abc、qwe和目录123压缩为test.tar.bz2文件(这里目标也可以多个)
abc
123/
123/qwe/
123/qwe/qwed/
qwe
[root@akun ~]# tar -jxvf test.tar.bz2 
abc
123/
123/qwe/
123/qwe/qwed/
qwe
#解压

-t选项,测试(只看不解压):
-C选项,指定解压位置(这个选项必须放在压缩包后边)

[root@akun ~]# tar -jtvf test.tar.bz2 
-rw-r--r-- root/root       113 2020-06-15 06:45 abc
drwxr-xr-x root/root         0 2020-05-11 03:34 123/
drwxr-xr-x root/root         0 2020-05-11 03:34 123/qwe/
drwxr-xr-x root/root         0 2020-05-11 03:34 123/qwe/qwed/
-rw-r--r-- root/root        59 2020-06-15 06:41 qwe

[root@akun ~]# tar -jxvf test.tar.bz2 -C /mnt/
abc
123/
123/qwe/
123/qwe/qwed/
qwe
[root@akun ~]# ls /mnt/
123  abc  qwe

如果想解压压缩包中的某个文件,可以在命令后加上这个文件名

[root@akun ~]# tar -jxvf test.tar.bz2 -C /tmp/ abc
abc
[root@akun ~]# ls /tmp/
abc

10、关机重启命令

1)sync 数据同步

执行sync命令,用于舒心文件系统缓冲区,防止关机时还有数据没有存到硬盘。

2)shutdown关机命令

shutdown 命令会关机前关闭服务保存数据,比较安全。
shutdown [选项] 时间 [警告信息]

选项作用
-c取消已经执行的shutdown命令 (比如已经定时的关机重启)
-h关机
-r重启
[root@akun ~]# shutdown -h 1
1分钟后关机
[root@akun ~]# shutdown -r 18:00    
18点关机
Broadcast message from root@akun
	(/dev/pts/0) at 6:17 ...

The system is going down for reboot in 703 minutes!
^Cshutdown: Shutdown cancelled      #按了ctrl+c这个重启就取消了,要想执行其他命令要后台运行

3)reboot重启命令

reboot也是安全的,而且不用加过多的选项

4)halt和poweroff命令

这两个都是关机命令,直接执行即可,这两个命令不会完整关闭和保存系统服务,不建议使用

5)init命令

init是修改linux运行级别的命令,也可以用于关机和重启,这个命令并不安全,不建议使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值