UNIX
WHY用户需求
用户:
企业 开发:1安全 2稳定性(电信移动)3高效性(访问的速度)开发一般可能选择Windows 发布上线Unix系统
个人Windows可视化界面
how
Unix命令学习
**
一:OS的组成
**
计算机组成硬件软件
软件分为系统软件和应用程序
系统软件就是操作系统
1:kernel内核
1管理硬件
2管理内存(内存分配)
3管理交换空间(虚拟内存)从硬盘启动一部分空间,操作系统通过频繁的换入换出达到内存够用的效果
4管理进程: 程序 静态的 进程 启动程序成了进程,每个进程都对应程序的唯一标识
线程 一个进程对应多个线程
5控制系统硬件和程序(驱动)
6管理守护进程
运行在后台,系统启动时启动,系统关闭时关闭
7管理文件系统
2:shell提供用户发送命令的界面
是用户和kernel的接口
扮演解释者和翻译者、 人能识别的高级语言 翻译成机器能够识别的机器语言
whoami(查看当前用户的用户名) $代表passwd root普通用户 #代表管理员
第一次切换管理员身份需要设置管理员密码:sudo passwd root
切换用户 普通到超级 su 超级到普通 exit
3:file system 文件系统
所有的硬件都会映射成一个文件。
由文件,目录,子目录形成的倒立的树形结构/代表根目录
路径
路径名:单一区分文件
相对路径:相对于当前路径
绝对路径 :相对于根路径
相对路径不会以/开头
二:修改普通用户密码passwd
修改密码对普通用户密码有一定要求,对超级用户没有要求
①密码长度6到8个字符
②密码至少包含2个字符,和一个字符或者一个特殊字符
③密码不能和用户名相同
④新旧密码至少3个字符不同
查看所有用户信息
cat /etc/passwd
briup:x:1000:1000:briup,,,:/home/briup:/bin/bash
用户名:密文的占位符:uid:gid:备注/用户的家目录/默认使用的shell
sudo cat /etc/shadow 查看密码相关信息
sudo 临时提升权限
sudo 遵循最小权限原则:操作尽量普通用户完成
briup:$6$xcraKmu.$8DneBjI3zTg9TnYoz7uskTAmRlQ4rlPKbTE5PO84Dx2h1rxPgXW/3zQviC9UThwbqi7kA7UWvHB4YOXyszu830:16926:0:99999:7:::
空格区分命令行不同部分
单行命令最多输入256个字符
与DOS不同:大小写敏感 不同的命令提示符
①clear 清屏
②pwd查看当前所在目录
cd进入某个路径地址
cd..回到上级目录
③ls 显示当前目录下的文件和目录
ls -l 显示当前目录下的文件和目录的详细信息
ls /显示根目录下的文件和目录
ls /etc 显示ETC下的文件和目录
ls -l /etc显示ETC下的文件和目录的详细信息
ls -d -l /etc显示自身的详细信息可以写一块ls dl / etc
ls -R /etc显示目录以及子子目录直到最后里面的信息
ls -a显示所有文件和目录包含隐藏文件和目录
ls -t最后一次修改的时间进行排序展示
ls -F显示文件类型
(目录文件 /
可执行文件 *
文本文件 (none))
touch 创建文件或者更新访问时间和修改的时间
touch b.txt c.txt test
touch创建的只能是文件,不能根据后缀名进行判断
mkdir 建立一个新的子目录
mkdir gam
mkdir gam1 gam2
mkdir gam/lol
mkdir game/game1 如果父目录不存在则默认无法连接
mkdir -p game/game1 会自动创建多级目录
有些目录创建是需要一定的权限
sudo mkdir/etc/game
三:修改权限
r -读权限
w -写权限,对目录来说,可生成文件与子目录或删除文件与子目录
x -执行权限,对目录来说,可查找该目录下内容
- -没有权限
如 - rw- r-- r--
拥 同 其
有 组 它
者 人 人
其中 拥有者-生成文件时登录的人,权限最高, u 表示
同组人-系统管理员分配的同组的一个或几个人, g 表示
其它人-除拥有者,同组人外的人, o 表示
所有人-包括拥有者、同组人及其它人, a 表示
chmod o+w a.txt chmod u+g courses chmod -
chmod g-w a.txt
chmod a=rw a.txt
4 read
2 write
1 execute
chmod 555 文件名
chmod 644 文件名
chmod 755 文件名
四:cp复制文件
①把源文件复制到目标文件
cp -i a.txt d.txt
②把源文件复制到目标目录
cp a.txt gam
cp b.txt abc(文件) gam
cp b. txt .c.txt gam
③把源目录复制到目标目录
cp -r gam2 gam1
-i如果目标文件已经存在则会提示是否覆盖,如果目标文件不存在则不会提示而且会自动创建文件,覆盖文件内容
cp后面很多文件,最后一个会去判断是否是目录,其他则为文本文件
-r复制的是目录
vi a.txt
cat a.txt
移动文件或目录
将原文件移动到目标文件
源文件存在,将原文件内容粘贴过去,并删除原文件
mv b.txt c.txt
原文件不存在,无法剪切复制
mv ab.txt c.txt
目标文件不存在,原文件存在,,如果目标文件不存在,则为修改文件名称
mv c.txt ab.txt
将原文件移动到目标目录
mv a.txt game
mv ab.txt game2
mv d.txt game2 gam2
将目录移动到目标目录
mv gam1 game
mv gam2/d.txt gam
mv gam/d.txt a.txt
删除文件和目录
rm -i gam/c.txt gam/b.txt
rmdir gam
rmdir
rm -r gam
rm删除非空目录,需要-r标识为目录
rm -r gam3
rm -R 文件或目录
man man is you freiends
Spacebar(空格键) Scroll through a manual page one screen at a time
Return Scroll through a manual page one line at a time
b Move back one screen(上一屏幕)
f Move forward one screen(下一屏幕)
q Quit the man command(退出)
/string Search forward for information(要查找的字符串)
n Find the next occurrence of string(查找下一个相关的字符串)
enter 一行一行的查看
man -keyword tou (根据关键词查找)
元字符:可以代替一些内容
作用:
1简化字符串
2模糊匹配
① ~ 代表家目录
② * 0到多个字符
touch a.txt b.txt c.txt ab.txt abc .txt
mkdir gam gam1 gam3
ls a*
ls ab*
ls a*c
rm a*
ls *txt
③ ?代表单个字符有且只有一个字符,占位符
ls a?txt
以c结尾,倒数第三个字符是a的文件
ls *a?c
④ []一系列字符匹配单个字符
touch link1.txt link2.txt n.txt k.txt
ls*link*.txt 2
ls*[link]*.txt 4
ls*[linka].txt
匹配到中括号任意一个单个字符的文件
⑤ ; 连接多条命令,命令之间没有关系
date日期
cal当前月份的日历
date;cal
cal 4 2017 显示对应年份和月份的日历
date;cal
⑥管道命令
前一个命令的输出作为下一个命令的输入
more:分屏显示
ls -l /etc | more
⑦.>,>>,<重定向命令
>重定向输出
>>重定向输出
<重定向输入
标准输出—屏幕
标准输入—键盘
和cat连用
cat /etc/passwd > a.txt
将文件内容不再显示到屏幕上,而是放在指定文件中,
且将信息内容放到文件中会覆盖
sudo cat /etc/shadow >>a.txt
将文件内容不再显示到屏幕上,而是放在指定文件中,
且将信息内容放到文件中会追加
cat < a.txt
cat /dev/null>a.txt
/dev/null黑洞文件,放不进去东西,也拿不出来东西
⑧.:是个空操作
:>a.txt
上述两种方式都是清空文件
VI命令
vi filename Open or create a file
vi Open a new file to be named later
i 在光标当前位置插入
a 在光标所在位置后插入
o 在光标所在行下插入一空行
<Esc> 退出插入状态
x 删除一个字符
dw 删除当前词
3dw 删除三个词
dd 删除当前行
5dd 删除五行
r 替换一个字符
cw 替换一个单词
cc 替换一行
C 替换从光标至行尾
yw 拷贝词
yy 拷贝行(或Y)
p 当前行下粘贴
:1,2co3 拷贝行1,行2在行3之后
:4,5m6 移动行4,行5在行6之后
:w 存盘
:w newfile 存成新文件
:wq 存盘退出Vi(或ZZ,或:x)
:q! 强行退出不存盘
~ 改变大小写
J 把当前行和下一行连起来
u 废除刚才的编辑操作(undo)
:set nu 显示行代码 (:set nonu)
:21 光标停在指定行
21G 光标停在指定行 (G 到文件尾,1G 到文件头)
/串 从当前行往下查找
?串 从当前行往上查找
n 查找继续
:r file2 在光标所在位置插入另一个文件
:1,$s/旧串/新串/g 替换全文(或 :%s/旧串/新串/g)