文章目录
命令格式
command [-options] [parameter]
命令 选项 参数
说明:
- 命令的名称是对应功能的英文或英文的缩写,选项和参数可有可无且不唯一
- 选项调整命令执行行为,决定了命令的执行结果;参数是命令的作用对象
- 选项为单个字母,前面接 - ;选项为完整单词,前面接 –
- 命令、选项、参数之间用空格分开
- 有些命令的多个选项可以自由组合
技巧与帮助信息
-
技巧按键
按键 功能 Tab键 输入部分字母后自动补全 上下键 选择之前输入过的命令 Ctrl+C 取消当前操作 -
查看命令帮助信息
command --help //查看对应命令的帮助信息
man command //man是manual的缩写,查看对应命令的帮助手册
使用man时的一些操作:
按键 功能 Enter/下光标键 查看下一行 上光标键 查看上一行 F键/空格键 查看下一页 B键 查看上一页 Q键 退出 /String 搜索String高亮显示
目录管理
ls
ls英文全称:list,列出当前路径下的目录及文件名
-
常用选项使用
ls -a #列出全部文件,包含隐藏文件 ls -l #显示文件的详细信息 ls -i #列出文件id ls -al #-a和-l选项组合使用,等价于ll ls -lh #-h配合-l显示文件大小
-
ls通配符
通过通配符列出当前目录符合匹配条件的文件及文件夹
通配符 含义 * 代表任意个字符 ? 代表一个任意字符 [abc123] 匹配[]中的任意一个字符 [a-d] 匹配a到d范围内的任意一个 ls *.txt #列出当前目录以.txt结尾的文件 ls ??[0-9].txt
cd
cd英文全称:change directory,用来切换目录
cd [相对路径或绝对路径]
cd - #在上两次工作目录间切换
cd #回到用户家目录,等价于cd ~
cd . #就在当前目录
cd .. #返回上级目录
cd ../.. #返回上上级目录
pwd
pwd英文全称:print working directory,用来显示当前路径
mkdir
mkdir英文全称:make directory,创建新的目录
mkdir 目录名
mkdir -p f1/f2/f3 #递归创建多级目录
rmdir
rmdir英文全称:用来删除空的目录
rmdir 目录名
rmdir -p f1/f2/f3 #递归删除多级空目录
文件操作
touch
创建文件
touch 文件名
rm
删除文件或目录
rm [选项] 文件或目录
rm -f 文件名 #强制删除,忽略不存在的文件
rm -r 文件或目录 #递归删除,可以删除多级非空目录
cp
复制文件或目录
cp [选项] 待复制的文件或目录 复制去向
mv
移动文件或目录,重命名文件或文件夹
mv [选项] 待移动的文件或目录 移动去向 #移动
mv 旧文件或目录名 新文件或目录名 #重命名
echo > >>
echo hello > test.txt #hello输出到test.txt文件,会覆盖原内容
echo hello >> test.txt #hello追加到test.txt
ls > test.txt #把命令得到的结果输出到test.txt
文件属性
Linux 系统是一种典型的多用户系统,对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定,如图第一个字符代表这个文件是目录、文件或链接文件等,接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合,没有对应权限,就会出现 -。
-
当为 d 则是目录;
-
当为 - 则是文件;
-
若是 l 则表示为链接文档(link file);
- linux的链接有两种:
- 硬链接(file type: -):若B是A的硬链接,则他们指向了同一个文件,允许一个文件有多个路径,通过这个可以防止对重要文件的误删
- 软连接(file type: l):类似Windows的快捷方式,删除源文件,快捷方式也访问不了
- linux的链接有两种:
-
若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
-
若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组,用户和组是多对多的关系。文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
ln
创建链接
touch f1
ln f1 f2 #创建硬链接
ln -s f1 f3 #创建软连接(符号链接)
chgrp
更改文件属组
chgrp [-R] 属组名 文件名 #-R:递归更改
chown
更改文件属主,也可以同时更改文件属组
chown 属主名 文件名
chown 属主名:属组名 文件名
chmod
更改文件9个属性,有两种设置方法,一种是数字,一种是符号,这里介绍符号设置方法
三种身份和三种权限的符号表示:
-
u:user,用户
-
g:group,组
-
o:others,其他
-
a:all,全部身份
-
+(加入) -(除去) =(设定)
-
读写可执行的权限写成 r, w, x
chmod u=rwx,g=rx,o=r test1 #将文件权限设置为 -rwxr-xr--
chmod a-x test1 #拿掉全部人的可执行权限
内容查看
cat
由第一行开始显示文件内容,tac与cat命令刚好相反,从最后一行开始显示
cat 文件名
cat -b 文件名 #对非空白行做行号显示 等同于nl命令
cat -n 文件名 #连同空白行也会有行号
less
一页一页翻动
- 空白键 :向下翻动一页;
- [pagedown]:向下翻动一页;
- [pageup] :向上翻动一页;
- /字符串 :向下搜寻『字符串』的功能;
- ?字符串 :向上搜寻『字符串』的功能;
- n :重复前一个搜寻 (与 / 或 ? 有关!);
- N :反向的重复前一个搜寻 (与 / 或 ? 有关!);
- q :离开 less 这个程序。
head
取出文件前面几行,默认10行;tail命令取出文件后面几行
head [-n number] 文件名 #-n后面接数字,指定显示几行
文件搜索
which
查看命令所在位置
which 命令名
which cd #shell内置的命令,会输出为空
find
搜索指定范围的特定文件
find 搜索范围 搜索条件
find /home -name f1 #根据文件名精确搜索
find /home -name 'f*' #模糊搜索,加上引号可以防止遇到有空格的文件名时出错
find /home -iname f1 #不区分大小写
find /home -size +1 #大于512字节的文件,512字节为一个单位,小于用-
find /home -user zzh #范围内属于zzh用户的文件
find /home -mmin -5 #5分钟内被修改的文件
find /home -type l #按文件类型搜,f:文件,d:目录,l:软链接
搜索条件可用 -a 和 -o 组合,-a:and,-o:or
locate
所搜速度快,所以可以不用指定范围;但是,最新的文件不会及时更新到索引库,所以最新的文件搜不出来,不过可以强制更新
locate f1 #不是精确查找,会把包含f1的全部找出来
sudo updatedb #强制更新索引库,可以搜索到最新文件
用户管理
useradd
添加用户,刚添加的账号是被锁定的,需要设置密码
useradd 用户名
passwd 用户名 #设置密码
cat /etc/passwd #可以看到用户信息写入了文件,本质是对/etc/passwd文件的更新
userdel
删除用户
userdel -r 用户名 #删除用户的时候将他的目录一起删掉
usermod
修改用户
usermod -d /home/666 用户名 #将该用户的主目录改为/home/666
su
切换用户
su 用户名
exit #退出到原来的用户
用户组管理
组的增、删、改不再举例,对应命令为groupadd、groupdel、groupmod,本质是对/etc/group文件的更新
磁盘管理
df
列出文件系统整体的磁盘使用量
df -h #将容量结果以易读的容量格式显示出来
du
检查磁盘空间使用量
du [选项] [文件或目录名]
du -h #只列出当前目录下的所有文件夹容量(包括隐藏文件夹)
du -ah #将文件的容量也列出来
sudo du -sm /* #检查根目录底下每个目录所占用的容量
mount
磁盘挂载,卸载:umount
mount /dev/xxx /mnt/xxx #将外部设备xxx挂载到mnt目录下来实现访问
进程管理
每一个程序都有自己的一个进程,每个进程都有一个id,进程还有自己的父进程
ps
查看正在运行的进程信息
ps [选项]
ps -aux #查看所有进程
ps -aux|grep string #通过string过滤进程信息,|叫做管道符,把一个命令的输出作为另一个命令的输入
pstree
通过目录树结构查看父进程
pstree -p #显示id
pstree -u #显示用户组
pstree -pu
kill
结束进程
kill -9 进程id