1. 命令解析器shell---Unix操作系统
命令解析器bash---Linux操作系统
本质:命令解析器---根据命令名字,调应对应可执行程序。
2. Linux快捷键
命令和路径补充:
Tab 两次tab显示所有可补充命令、路径
1) 主键盘快捷键
01. 历史命令的切换:
History 查看历史输入命令
Ctrl P 命令一次往上滚动
Ctrl N 命令依次向下滚动
02. 光标移动:
向左:Ctrl B 向右:Ctrl F
移动至行首:Ctrl a ---行尾Ctrl e
03. 删除字符
删除光标前边字符:Ctrl H
删除光标后边字符:Ctrl D
删除光标前所有字符:Ctrl U
3. Linux系统目录结构
根目录:ls /
/bin ->binary,经常使用的命令目录
/dev ->device,存放外部设备
/etc ->存放所有的系统管理所需的配置文件
/home ->用户主目录
/lib ->存放系统基本链接共享库
/media ->系统识别外设后挂载目录
/mnt ->临时挂载别的系统文件,如U盘
/root ->系统管理员目录
/usr ->存放用户应用程序和文件
/boot ->启动Linux核心文件
4. 用户目录
ls /
1) 相对路径:bbb 相对于当前的工作目录而言
“.” ->当前目录 “..”->当前的上一层目录 “-“->临近两个目录切换
2) 绝对路径
C盘下的AAA的BBB
Cd/home/pit-yk
3) Pit-yk@pit-yk-pc:~$:提示字符串
第一个pit-yk表示当前登录用户,第二个表示主机名
“~”表示用户家目录(宿主目录)
“$”---表示普通用户 “#”---表示超级用户
切换用户---“sudo su” “exit”---退出超级用户
5. 文件和目录操作
1) 查看目录
“tree”---需要安装软件
“sudo apt-get install tree”
01. 显示目录或文件信息命令 ls
“ls -a”,“ls -l”,“ls -la”
格式:ls [选项] <目录或文件名>
-a:显示所有的文件和目录
-l:以长格式显示文件信息
-t:将结果按修改时间进行排序,新的文件或目录排在前面
-R:若目录下有文件,则列出目录下的所有文件
例如:执行命令“ls -at a*”,显示当前目录下所有以a开头的文件,新文件在前
此处需要举例子
“d”---文件夹
“-”---普通文件
“s”---socket文件
“c”---字符文件
“l”---链接符号
“p”---管道
02. 目录切换
“cd /AAA”
三种回家目录方式:
“cd /home/pit-yk” “cd ~” “cd”
查看当前目录命令 pwd
格式:pwd
例如:执行命令pwd,系统显示当前目录
03. 创建目录命令 mkdir
格式:mkdir 【选项】 <目录>
参数:
-p “mkdir -p dir1/dir2”,表示在当前目录下创建dir1/dir2,如果dir1
不存在则先创建它------复合创建文件目录
mkdir -p dir/newdir/newdir //使用-p参数
04. 删除目录命令 rmdir
格式:rmdir [选项] <目录>
如果指定目录为空就删除它,若不空出现错误信息。
参数:
-p “rmdir -p dir1/dir2”在当前目录下的dir1目录中删除dir2子目录,若删除dir2后dir1也变为空目录,则也将其删除
“rm aaa -r”---递归删除
“rm -ri aaa”---递归询问删除
05. 目录中创建文件
“touch pit”---普通文件
06. 删除文件
“rm aaa -i”
“rm *.c”---删除当前目录下所有以.c结尾的文件
07. 文件复制命令cp
格式:cp [选项] <源文件或目录> <目标文件或目录>
主要选项如下:
-r:递归拷贝目录
“cp *.c /temp”---当前目录下所有.c文件拷贝到/temp目录下。
“cp file1 dir/newfile2”---file1被复制一份到dir目录下,并改名字为“newfile2”
“cp -r dir1/dir2 dir3/newdir”---dir2被复制到dir3目录下,并改名字为"newdir"
08. 移动或重命名文件命令 mv
格式:mv 选项 源文件或目录 目的文件或目录
主要选项如下:
-I:移动前询问要求确认
“mv -I *.c /temp/project”---将当前目录下*.c结尾的文件移到project目录下,若目录下存在同名文件则询问是否覆盖。
09. 文件操作
1) 查看文件内容
cat filename
//打印文件内容到输出终端
more filename
//通过敲回车方式逐行查看文件的各个行内容
//默认从第一行开始查看
//不支持回看
//q 退出查看
less filename
//通过“上下左右”键查看文件的各个部分内容
//支持回看
//q 退出查看
head-n filename
//查看文件的前n行内容
tail-n filename
//查看文件的最末尾n行内容
wcfilename
//查看文件的行数
2)给文件追加内容
echo内容 > 文件名称
//把“内容”以[覆盖写]方式追加给“文件”
echo内容 >> 文件名称
//把“内容”以[追加]形式写给“文件”(如果文件不存在会创建文件)
10. 用户操作
配置文件:/etc/passwd
1) 创建用户 user add
># useradd
># useradd liming
//创建liming用户,同时会创建一个同名的组出来
># useradd -g 组别编号 username
//把用户的组别设置好,避免创建同名的组出来
># useradd -g 组编号 -u 用户编号 -d 家目录 username
2) 修改用户 user modify
># usermod -g 组编号 -u 用户编号 -d 家目录 -l 新名字 username
(修改家目录时需要手动创建之)
3) 删除用户 user delete
># userdel username
># userdel -r username
//删除用户同时删除其家目录
4) 给用户设置密码,使其登录系统
> passwd 用户名
11. 给文件设置权限
1) 字母相对方式设置权限
//针对一个组别设置权限,其他组别权限没有变化,称为“相对方式”权限设置
chmod指令
chmod u+rwx filename //给filename文件的主人增加“读、写、执行”权限
chmod g-rx filename //给filename文件的同组用户 删除“读、执行”权限
chmod u+/-rwx,g+/-rwx,o+/-rwx filename
说明:
①每个单元"+" "-"只能使用一个
②可以同时给一个组或多个组设置权限,组别之间使用","分割
③每个单元的权限可以是"rwx"中的一个或多个
chmod u+w,g-rx,o+rw filename
//给filename文件主人增加写权限,同组删除读、执行权限,其他组增加读、 写权限
chmodu+w,u-x filename
//给filename文件主人“增加写权限”同时“删除执行权限
chmod +/-rwx filename
//无视具体组别,统一给全部的组设置权限
chmod+rw filename
//给filename全部用户增加“读、写”权限
2) 数字绝对方式设置权限
r读:4 w写:2 x执行:1
0: 没有权限
1:执行
2:写
3:写、执行
4:读
5:读、执行
6:读、写
7:读、写、执行
chmod ABC filename
//ABC分别代表主人、同组、其他组用户的数字权限
chmod 753 filename
/ /主人读、写、执行;同组读、执行;其他组写、执行
问:字母相对 和 数字绝对 方式权限设置取舍?
答:修改的权限相对“比较少”的时候使用“字母”方式相反,权限变动“非常多”的时候就使用“数字”方式
12. 文件中查找内容
grep 被搜寻内容 文件
grep hello passwd
//在passwd文件中搜索hello内容
//会把hello所在行的内容都打印到终端显示
13. 计算文件占据磁盘空间大小
du -h 文件(目录)
14. 文件查找
find 查找目录 选项 选项值 选项 选项值 ...
1) -name选项根据名字进行查找
>find / -name passwd[完整名称]
//"递归遍历"系统全部目录,寻找名称等于"passwd"的文件
>find / -name "pas*"[模糊查找]
//在系统全部目录,模糊查找一个名字是“pas”开始的文件
>find / -name "*er*"
//文件名字有出现“er”字样即可,不要位置
2) 限制查找的目录层次 -maxdepth -mindepth
-maxdepth 限制查找的最深目录
-mindepth 限制查找的最浅目录
> find / -maxdepth 4 -name passwd
> find / -maxdepth 4 -mindepth 3 -name passwd
3) 根据大小为条件进行文件查找
-size +/-数字
+号表示大小大于某个范围
-号表示大小小于某个范围
大小单位:
-size 5 //单位是“512字节” 5*512字节
-size 10c //单位是“字节” 10字节
-size 3k //单位是“千字节” 3*1024字节
-size 6M //单位是“1024*千字节” 6M兆字节
> find ./ -size 14c //在当前目录查找大小等于14字节的文件
> find / -size +50M //在系统全部目录里边查找大小大于50M的文件