unix基础学习

一、unix的基本知识
1.背景

由Ken Thompson(肯 汤姆森)和 Dennis Ritchie(丹尼斯·里奇)创建的操作系统

UNIX元年:1970年。

2.与Windows相比的好处

安全性
稳定性
高效性

二、unix组成成分

1.计算机组成:硬件和软件

软件分为:系统软件(操作系统)、应用软件
  1. Kernel 内核

       1)管理硬件
       2)管理内存(内存交换)
       3)管理交换空间(虚拟内存)
       4)控制系统硬件和系统程序(驱动)
       5)管理进程
       6)管理守护进程
       7)管理文件系统
    

3 Shell

1)为使用者提供操作界面的软件(提供用户发送命令的界面)

2)是用户和Kernel之间的接口

3)扮演解释者和翻译者

4 Fill system 文件系统
	1)所有的硬件都会映射成一个文件,
	2)由文件、目录、子目录形成倒立的树形结构。
	3)路径    路径名:唯一区分文件
		  相对路径:相对于当前路径
		  绝对路径:相对于根路径
		  注:相对路径不会以"/"开头

三、用户与超级管理员切换

1.Shell界面字符:$:代表普通用户  #:代表超级管理员

2.第一次切换管理员身份需要设置管理员密码

1)sudo passwd root 
  sudo 临时提升权限
2)切换用户
  普通用户到超级管理员:su
  超级管理员到普通用户:exit

3.修改普通用户密码: passwd

1)修改普通用户密码有一定要求,对超级用户没有要求
  密码长度6到8个字符
  密码至少包括2个字母,和一个数字或一个特殊字符
  密码不能和用户名相同
  新密码和旧密码至少3个字符不同
  
  注:在此为原始的unix系统遵守

四、查看用户与密码信息

1.cat /etc/passwd————查看所有用户信息

2.sudo cat /etc/shadow————暂时提高权限,查看密码相关信息
 
  sudo:遵循最小权限原则:操作尽量由用户完成

五、命令

1.命令的规则
  1)空格区分命令行不同部分
  2)单行命令最多输入256个字符
  3)与dos不同:
    1 大小写敏感
    2 不同的命令提示符

2. clear 清屏。并非删除,而是将界面上移

3. pwd 查看当前所在目录(print working directory)

4. cd 进入某个路径地址目录(change directory)
   cd ..回到上个目录
   cd 直接回车则直接回到用户家目录

5. ls 显示当前目录下的文件和目录(文件名,目录名)(list)
      ls 目录			显示指定目录下的文件和目录
      ls 文件			显示文件名
      ls -l 目录		显示指定目录下的文件和目录的详细信息
      ls -l 文件		显示指定文件的详细信息
     
      ls -d -l 			文件/目录	显示自身的详细信息
						注:-d -l可以写一块 ls -dl 也可以ls -ld 
      ls -R 目录		显示子目录以及子子目录直到最后的里面的文件信息
      ls -Rl目录		显示指定目录下的所有子目录及子集,文件的详细信息。
      ls -a 目录		显示指定目录下所有文件和目录(包括隐含文件和目录)
      ls -t 目录		根据最后一次修改的时间进行排序展示,升序排列,距离当前的时间的间隔由小到大。
      ls -t 文件		显示文件名
      ls -F 目录		显示指定目录下的文件类型
                        文件属性  目录文件"/",可执行文件"*",文本文件"none"
      ls -F 文件		显示文件名

6. touch 创建文件或者更新访问时间和修改的时间
	 touch 文件		在当前目录下创建或更新文件
	 touch 文件 目录	在指定目录下创建或更新文件
	 touch 文件1 文件2 目录 在指定目录下创建或更新多个文件

	 注:除了第一种情况,最后都要为目录
	 注:touch 创建的只能是文件,不能根据后缀名进行判别是否创建的是文件

7. mkdir 创建目录
     mkdir 目录 目标目录	目标目录要存在,才能创建(不能多级创建)
	 mkdir 目录1 目录2 目标目录	在目标目录下创建多个目录(不能多级创建)
	 mkdir -p 目标目录/目录1/目录2  会自动创建多级目录(会创建目录1/目录2)
   
    注:有些目录去创建是需要一定的权限的  sudo mkdir /etc/目录1

8. chmod 改变读/写/执行权限
	1)人员: u(user):拥有者 g(group):同组人 o(other):其他人 a(all):所有人
	2)操作符: +添加 -取消 =赋值
	3)权限: r读 w写 x执行
	4)chmod 人员 操作符 权限 [,人员 操作符 权限]文件或目录
	5)用逗号分隔
	6)人员可以写在一起,方便赋值
	  chmod o+w 文件/目录
	  chmod g-w 文件/目录
	  chmod g=rw 文件/目录
	  chmod u+x,go-w 文件/目录
	  chmod u-x,g+w 文件/目录

	 数字表示
	 顺序:拥有者 同组人 其他人
	 数值:4 read  2 write 1 execute
	 chmod 465 目录/文件 该目录/文件拥有者只读,同组人可读可写,其他人可读可执行
	 chmod 664 目录/文件 该目录/文件可读可写,同组人可读可写,其他人只读

9. cp 复制文件,目录
	 1)cp 源文件 目标文件
	   目标文件不存在,则复制并改名
	   目标文件存在,则覆盖
	   
	 2)cp 源文件1 源文件2 目标目录
	   目标目录存在,则将源文件复制到目标目录(名字不变)
	   目标目录不存在,相当于下面的情况
	   
	 3)cp -r 源目录1 源目录2 目标目录
	   目标目录存在,则将源目录及子集都复制过去
	   目标目录不存在,相当于复制源目录并改名为目标目录名
	   
	 4)若源文件/源目录不存在,则复制失败
	 
	 5)-i 用于提示当文件/目录已存在时,是否覆盖。-r也可合起来使用。
  
10.mv 移动文件或目录

	1)移动:将源文件内容粘贴过去,并删除源文件
	 
	 2)mv 源文件 目标文件
	   目标文件存在,覆盖操作
	   目标文件不存在,移动操作,若在同一级则为改名操作
	   
	 3)mv 源文件1 源文件2 目标目录
	   目标目录存在,移动到目标目录
	   目标目录不存在,相当于 mv 源文件 目标文件
	   
	 4)mv 源目录1 源目录2 目标目录
	   目标目录存在,则将源目录移动到目标目录
	   目标目录不存在,则移动失败
	   
	 5)若源文件/源目录不存在,则移动失败
	 
	 6)-i 用于提示当文件/目录已存在时,是否覆盖。

11. rm 删除文件和目录 rmdir 删除空目录
	 1)rm 文件1 文件2 删除文件
	 2)rm -i 文件1 文件2 提示是否删除,几个文件对应提示几次
	 3)rmdir 空目录1 空目录2 只能删除空目录(没有-i选项)
	 4)rm -r 文件1 空目录2 非空目录3  都能删除(文件,空目录,非空目录)

12. man 解释说明命令(API)
	 空格键:一屏一屏的显示
	 b:回滚到上一屏
	 f:下一屏
	 enter:一行一行的显示
	 /string 要查找的字符串 如:/a
	 n:查找下一个相关的字符串
	 q:退出
	 man -keyword:根据关键字查找命令 如:查找touch: man -keyword tou 

六、元字符:

 1.定义:具备一定特殊意义的字符,可以代替一些内容
 2.作用:简化字符串   模糊匹配
 3.字符: ~ * 
 4. ~代表家目录
 5. *代表0到多个字符(任意数量的任意字符)
		eg:
		ab*	ab开头的文件或目录	
		a*c	以a开头,c结尾的文件或目录  
		    注:后缀名属于文件名
		a*c.txt 以a开头,c.txt结尾的文件 
		*.txt 以.txt结尾的文件	

 6. ?代表单个字符有且只有一个字符,占位符(单个任意字符)

		eg:
		*a?c 以c结尾,倒数第三个字符是a的文件

7.[]一系列字符匹配单个字符

 touch link1.txt link2.txt n.txt k.txt

 ls *link*.txt 		得出:link1.txt link2.txt
 ls *[link]*.txt 	得出:link1.txt link2.txt n.txt k.txt
 ls [linka].txt 	得出:n.txt k.txt a.txt
注:匹配到中括号中一个单个字符的文件	


 8. ;连接多条命令,命令之间没有关系
    date;cal;pwd
    date:显示当前日期
    cal:显示当前月份的日历
    cal 2017 显示对应年的所有月份日历
    cal 4 2017 显示对应年份的月份的日历

七与输入输出有关命令

1. |管道命令 前一个命令的输入作为下一个命令的输入

	    通常与more同用  more:分屏显示
	    ls -l /etc| more

2.>>,>,<,重定向命令

    >重定向输出 覆盖
    >>重定向输出 追加
    <重定向输入
    标准输出--屏幕
    标准输入--键盘
    和cat连用
    cat -n 显示行数

    cat /etc/passwd > a.txt
    将文件内容不再显示到屏幕中,而是放在指定文件中,
    且将信息内容放到文件中会覆盖

    sudo cat /etc/shadow >> a.txt
    将文件内容不再显示到屏幕上,而是放在指定文件中,
    且将信息内容放到文件中会追加

    cat /dev/null > a.txt 清空a.txt
    /dev/null 黑洞文件,放不进去东西,也拿不出来东西

 3. :是个空操作
    :>a.txt 清空a.txt

 4. more 分屏显示
    空格键:一屏一屏的显示
    b:回滚到上一屏
    f:下一屏
    enter:一行一行的显示
    /string 要查找的字符串 如:/a
    n:查找下一个相关的字符串
    q:退出

八. vi编辑器

   1)vi 打开或创建文件

   2)vi使用了两种状态,一是命令态,另一是插入态。
    Esc回到命令态
    i,a,o 进入插入态

   3)i	在光标当前位置插入
     a	在光标所在位置后插入
     o	在光标所在行下插入一空行

   4)存档及退出 
     :w		存盘		write
     :w newfile	存成新文件
     :wq 		存盘退出Vi(或ZZ,或:x)
     :q! 		强行退出不存盘

 
   5)删除
      x	删除一个字符
      dw	删除当前词
      3dw	删除三个词
      dd	删除当前行
      5dd	删除五行
      :5,10d	删除5-10行(删除了6行)


   6)修改 
      r	替换一个字符
      cw	替换一个单词
      cc	替换一行
      C	替换从光标至行尾

   7)复制粘贴
     yw 		拷贝词
     yy 		拷贝行(或Y) nyy
     p			当前行下粘贴
     :1,2co3		拷贝行1,行2在行3之后(复制1-2行)
     :.,.+5co.+6         拷贝当前行到当前行的下5行都复制到当前行下第6行下
     :4,5m6		移动行4到行5在行6之后

   8)特殊:
     ~				改变大小写
     J				把当前行和下一行连起来
     u				废除刚才的编辑操作(undo)(不能连续)
     :set nu			显示行代码 (:set nonu)
     :2				光标停在指定行
     2G				光标停在指定行 (G 到文件尾,1G 到文件头(数字1))
     /串				从当前行往下查找
     ?串				从当前行往上查找
     n				查找继续
     :r file2			在光标所在位置插入另一个文件
     .                                 重复上一个操作

     :1,$s/旧串/新串/g	(数字1) 替换全文(或 :%s/旧串/新串/g)
     :1,$s/  1表示文件开头,$表示文件末尾 1,$表示所有,1,$s表示所有字符

   
   9)移动
     G到文件尾 ,1G到文件头,NG光标移动到N行, gg移动到第一行
     1$光标移动到光标所在行的行尾
     2$光标所在行的下一行行尾
     0光标所在行的行首
    
     上:k nk向上移动n行
     下:j nj向下移动n行
     左:h nh向左移动n行
     右:l nl 向右移动n行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值