文件系统目录
root    根用户目录
home 其他用户目录
bin 用户管理命令   用户层面   cat chmod  chown  date等常用的指令   可以被root和普通用户使用的
sbin 系统管理命令   系统层面    只有root用户才能使用的指令  其他用户只能读取      放在/sbin底下的开机过程所需要 的    包括开机    修复   还原系统  等     常见指令  包括   fdisk      fsck     ifconfig    init    mkfs等
mnt 默认光驱  u盘等外部设备挂载点
boot 引导系统相关文件   核心   开机菜单与开机配置文件    核心为vmlinuz    可能会有grub
etc 系统和软件配置文件目录   账号密码  各种服务的启动文件   普通用户可读    root用户修改    
/etc/inittab    /etc/init.d/     /etc/modprobe.conf      /etc/X11/      /etc/fstab      /etc/sysconfig等
/etc/init.d/     所有服务的预设启动脚本
/etc/xinetd.d/  super daemon   管理的各项服务的配置文件目录
/etc/X11/ X Window  相关的配置      其中xorg.conf较重要
var 存放经常变化的文件  log等
proc  存放linux运行过程中的核心与程序执行的信息    主要显示内存中信息    虚拟文件系统   系统核心   进程  外设 网络状态等   比较重要的档案   /proc/cpuinfo     /proc/dma     /proc/interrupts     /proc/ioports    /proc/net/*等
sys 与前一个类似
tmp 临时文件   暂存盘   开机后建议清空
usr 安装软件默认的路径    类似于windows的program文件夹   存放用户的使用的系统命令和应用程序等的信息
/usr/ 发行版自动安装的软件目录
/usr/local/ 本地后期安装的软件目录  
/usr/sbin/ 根文件系统不必要的管理命令
lost+found 当系统出现错误时    丢失的片段  通常位于文件系统最顶部   
dev 接口设备文件目录    例如hda表示硬盘
lib 系统函数库   开机时会用到的函数库     其他的/bin    /sbin下的lib是指令调用的函数库
lib/modules/    该目录存放核心相关的额模块    例如驱动程序
opt 第三方软件安装的目录     以前通常安装到/usr/local目录下
srv 网络服务启动后取用的数据目录    例如www服务开启后     网页资料就可以放在/srv/www/下面
 
usr的意义与内容    类似与windows中的c:\windows      和c:\program files\
unix  software   resource    软件资源
/usr/====~
~/X11R6/       X  Window System   重要数据存放
~/bin 存放绝大部分的用户指令      与/bin不同之处就是是否与开机过程有关
~/incluce/ c和c++头文件与include文件      当用tarball安装某些数据时  会用到许多包含的文件
~/lib 软件的函数库     目标文件   不被普通用户常用的执行文件和脚本    如果是64位的系统   可能会 有/usr/lib64/目录产生
~/local/ 管理员安装自己下载的软件  非系统自带     建议安装到此目录    
~/sbin/ 非系统必须的指令   
~/share/ 共享文件     不区分硬件架构均可读取的数据    均为文本文件    主要有   /man    /doc    /zoneinfo  等等
~/src/ 源代码放置位置
 
/var/    意义和内容    系统云心过后逐渐占用硬盘空间    常态性变动的问及那  包括快取   登陆    以及某些软件运作所产生的 文件
 
~/cache 程序产生的临时文件
~/lib 程序运行过程汇总用到的数据文件存放的目录    各软件有相应的目录  例如mysql的数据存放 在/var/lib/mysql/中
~/lock 锁定正在运行的资源   同一时间点同一个资源只能有一个应用程序使用     所以需要上锁  例如刻录机
****~/log 日志文件     登陆文件放置的目录     /var/log/messages      /var/log/wtmp   记录登入者的信息
~/mail 电子邮件目录    与/var/spool/mail/目录是链接的关系
~/run 进程id号存放的目录   正在运行的服务程序
~/spool 队列数据    使用之后会被删除    举例  邮件数据放~/spool/mail目录之下     如果未发出去就会存放在
~/var/spool/mqueue/中      任务数据   放在/var/spool/cron/目录中
 

 

 
挂载分区时注意   与/目录不能分开的涉及的开机的目录有    /etc      /bin     /dev     /lib    /sbin
建议不与根目录放在同一区的目录 有/home    /usr    /var    /tmp     
 
 
硬件装置在linux中的文件名
ide硬盘     /dev/hd[a-d]   a-d为硬盘的序号
sata硬盘 /dev/sd[a-p]
打印机 /dev/lp[0-2]
u盘 /dev/sd[a-p]
软盘 /dev/fd[0-1]
鼠标 usb:/dev/usb/mouse[0-15]   和ps2:/dev/psaux
当前dvd /dev/cdrom
当前鼠标 /dev/mouse
 
纯文本模式   ctrl +alt+f1---f6    进入tty界面    f7为图形界面
run level3中没有图形界面    f1-f6
run level5中有图形界面 f1-f7    startx   启动图形界面的充分必要条件     tty7未用    已经安装了x window system
并且x-server能够启动      有窗口管理程序   gnome或kde 或 xfce或lxde等
x必须要的服务     例如x font  server   xfs等
 
/etc/inittab   中设定   
root用户为#      普通用户为$     ~为用户的家目录
exit    注销    或者logout
帮助         文件存放位置     /usr/share/man       可以修改/etc/man.config   文件  改变位置
内部命令 help  COMMAND
外部命令 COMMAND --help
常用 man   COMMAND
更加详细   info  COMMAND
man命令的章节分类
man  章节   命令   例如:man  1   ls     查看第一章节中的ls命令的内容
*1.用户命令 (/bin,/usr/bin,/usr/local/bin)   用户可以在shell环境中才做的指令或文件
2.系统调用    系统核心可以调用的函数和工具
3.库文件        大部分为c函数库
4.特殊文件(设备文件)        /dev下的设备
5.文件格式(配置文件的语法)
6.游戏
7.杂项    惯例与协议等      文件系统  网络协议    ascII   code等
*8.管理命令   (/sbin,/usr/sbin,/usr/local/sbin)       系统管理员可用的管理指令
9.kernel相关的文件
帮助命令中显示的各项的意义  语法
 
name 命令名称    及功能简要说明
synopsis 用法说明   语法   包括可用的选项
description 命令功能的详尽说明  包括每个选项的意义
options 说明每个选项的意义
files 次命令相关的配置文件
bugs 缺陷
examples 使用示例 **
see  alse 另外参照
[=format]    指定按照某种格式来显示
 
 
<  >  必须给出的参数
[  ] 可选的参数  可有可无
[  a | b   | c  ]      a,b,c中互斥 如果有,只能有一个
...       前面的内容可以使用多次
{   } 分组    无特殊意义
翻屏:向后     space
向前 b
向前一行 k
向后一行 enter
pageup pagedown 翻页
home end
查找:不区分大小写
/KEYWORD     回车 向后搜索
?KEYWORD 回车 向前搜索
n 下一个
N 前一个
退出:q
格式:理解为变量
%D 显示日期   月 日 年
例子:   date  +%D
 
  info    COMMAND
描述的更加 详细   历史       此为man的补充
特定目录    /usr/share/doc/       相应的目录中有文档
 
文件权限
-rwxrwxrwx    其中红色代表 文件所有者的权限      蓝色代表同文件所有者同组的成员的权限     黑色代表其他用户的权限
-    是文件的类型    分为   b  块文件 存储器;c字符文件   串行端口设备;d目录文件;-普通文件;l链接文件
-: 纯文本文档  ascII  文档    可以用cat  vi  more等读取的文件
二进制文件 binary       可执行文件   例如各种命令
数据格式文件   特殊格式的文件     
目录文件
link文件
设备与装置文件      block和character文件
接口文件   sockets    主要用于网络的数据接口        属性为s      通常在/var/run中出现
数据传输文件      fifio       主要用于多个程序同时存取一个文件的冲突问题      第一个属性为p
sockets和fifo文件与进程有关
 
 
扩展名:
.sh      脚本或者批处理文件    由shell写成
.Z     .tar   .tar.gz    .zip     .tgz     压缩打包的文件    对应软件分别为gunzip    tar等
.html     .php
安装软件目录   通常遵循FHS  标准     不断变化

 

  可分享和不可分享主要对应于网络上的其他主机  能否挂载

 
 
/etc/inittab   文件
init     运行级别
0 关机
1 单用户
2 多用户状态没有网络服务
3 多用户状态有网络服务
4 系统未使用保留给用户
5 图形界面
6 系统重启
 
修改错误配置的方法
grub引导时      按e键 两次  进入修改界面    最后输入1    代表1号运行级别   因为单用户级别不看inittab文件   并且可以修改 密码。b  进入系统
密码存放文件       /etc/shadow   
 
 
基础命令
运行程序
 
设备管理   
 
软件管理   
 
进程管理
 
网络管理
 
 
linux
shutdown -h now   关机
shutdown -r now 重启
reboot   重启
logout 注销
init 0 关机
 
 
useradd     用户名       添加用户              useradd   -g   组名   用户名        -m   直接设置权限
passwd     用户名 修改密码
userdel 删除用户
userdel  -r     删除用户及其主目录
chown 修改文件的所有者    -R   递归
chgrp 修改文件所在的组    -R   递归
usermod   -g   组名  用户名
usermod    -d 目录名   用户名   改变用户登陆的初始目录
groupadd 添加组
chmod 改变权限    -R   递归    包括目录下的文件
所有者u=rwx 组g=rwx     其他o=rwx  或者u-x    g+w      或者chmod  777
umask 目前用户建立文件或目录时的权限默认值      -S  直观显示 symbolic   设定文件为/etc/bashrc
chattr    配置文件的隐藏属性   仅仅支持ext2/3的文件系统    i      和a比较重要
lsattr 显示文件的隐藏属性
 
 
 
目录管理
ls     -l   等价于ll    a显示隐藏         -ahl   查看文件所在组
a  全部文件 包括隐藏文件 ; A 全部文件  不包括.和.. 的目录;d仅列出目录 ;f不排序   默认是排序;
F列出文件的数据结构   *可执行     /目录       =socket文件       |fifo文件
i   inode号      n uid和gid的名称         r排序结果反向输出    -S以文件大小排序   t依据时间      --color=always 显示 颜色    --color=auto系统自行依据设定来判断是否给予颜色
--full-time 显示完整的修改时间
dir     于ls类似
cd 改变目录
pwd    显示当前目录    -P   显示出真实的路径     而非  链接路径     print   working  directory
mkdir 建立目录      -p递归建立目录    -m配置文件的权限,不使用默认预设
rmdir 删除空目录   -r   递归包括文件        -p  连同上层的空目录一同删除
 
 
文件管理
touch 建立空文件    原作用时用来修改文件的时间戳
mtime   modification time  内容数据变更时
ctime status time 状态改变时   例如像权限与属性被改变时会更新
atime access time 内容被读取时    例如用cat读取文件时会更新
t 欲修改的时间
m 仅修改mtime
a 修改atime
d 欲修改的日期
c 修改文件的时间   如果文件不存在  则不建立
cp 复制     -r递归      a  --archive  类似于-dR --preserve=all  保留文件所有的属性归档复制   主要用于备份      
   i  interactive若目标文件存在 会询问是否覆盖    
   p连属性一同复制    保留属主  属组 以及时间戳  
    u如果destination比source旧才会复制    如果参数有多个  则最后一个才是目的文件   其他的都是源文件
d --no-dereference  --preserve=link      保持链接文件原样    refer 指向链接文件     no+de等于肯定 
cp命令默认是带-L    即dereference    如果选择的是符号链接文件   复制到目的文件夹中的是链接指向的原始文件
-P   选择符号链接复制  则复制过来的是符号链接  而不是原始文件
mv 移动或改名     f强制    i询问    u目标已存在 且source更新  才会执行      t   先写目标  后写源
rm 删除文件    -rf    递归和强制    包括目录和目录中的文件     i为询问是否覆盖
basename 取得文件名 
dirname 取得目录名
ln 符号链接     快捷方式
-s    源    目标
 
 
 
 
文本处理
vi
插入   i
esc   命令模式
保存w
退出q
强制!
cat 查看文件    只读       n 显示行号     E  显示结尾符号   linux中$符号是结尾的符号    windows中$+回车符为结尾符
b列出行号 空白行不标    n打印行号 空白行也有行号       E显示结尾的断行字符$     A列出空白位置的特殊字符
grep 文本中查询
|  管道命令
find 查找文件   需要先制定一个目录  例子:find /root/   -name  ***
> 重定向      覆盖写入一个文件
>> 重定向     追加 写入一个文件   
tac 从最后一行开始显示
nl 显示时输出行号
-ba    列出行号  空行一样       -bt    空行不列行号
-n ln行号在屏幕的左侧显示   ;   -n  rn行号在右       不加0   ;   -n rz   同上加0
more 按页显示文件
space  向下翻页    enter向下一行       /字符串   向下搜索字符串        :f显示文件名以及目前显示的行数
q离开     b或者ctrl-b    回翻
less 与more类似  可以向前翻页
space向下翻页      pagedown向下翻一页      /字符串   向下搜索       ?向上搜索      n重复前一个搜索   
N反向的重复一个搜索    q离开
head 看头几行
n   后面接数字     数字如果是负数  则表示 不显示后面的数字行数
tail 看尾巴几行
n  数字        f  代表follow 持续侦测后面所接的文件    
od 以二进制的方式读取文件
t后面使用不同的类型输出包括下面   :a  默认的字符       c   ascII字符输出        
file 查看文件类型
sort 排序
比较第一个字符的asc码    排序
n 按照数值排序
u 相同行只显示一次
r 降序
t 字符分隔符
f 排序忽略字符大小写
uniq 报告sort中重复的行   注意如果完全一样的行不相邻  则认为是不重复的   否则才认为是重复的行   可以与sort结合使用
d 只显示重复的行
D 显示所有重复的行
c 将所有行都显示出来   并且列出重复次数
wc 统计   默认显示文件的行   单词数    字节数  
l  只显示行数
w 只显示单词数
m 只显示字节数 或字符数
L 最长的一行包含的字符数
 
 
 
nano 简单的文本编辑
cut 不会改变原文件的内容
d指定字段分隔符  默认为空格; 
f指定要显示的字段    -f 1代表显示的第一个字段    -f 1,3  代表显示1和3的字段    -f 1-3  显示从1到3的这个范围的字段
 
join
 
 
sed
 
awk
字符处理
tr 转换或删除字符
d 删除
 
 
 
 
 
 
 
 
who   查看在线用户
netstat -a     查看网络连接状态
ps -aux    后台程序列表
sync 缓存写入硬盘
LANG 修改语言环境    对应的文件/etc/sysconfig/i18n
uname   -r 查看系统核心版本
lsb-release -a      系统的详细信息包括硬件
$PATH        环境变量设置         每个命令会去对应的PATH中的设定的目录去搜索该命令的执行文件  
echo    $PATH    结果会显示当前用户的PATH设定的目录      
例如   用普通用户身份执行   ifconfig   eth0   
会提示     -bash:ifconfig:command not found    命令未发现的额字样    原因是ifconfig命令会放在/sbin下面     但是 普通用户的PATH变量设置中没有/sbin目录    所以无法执行命令     但是可以通过指出绝对路径的方式执行
/sbin/ifconfig eth0  来执行
install 复制文件并且设置属性   类似于copy用法  注意只能复制文件   不能复制目录   d 创建目录       
不带参数复制之后的文件具有可执行的权限导致不安全   所以需要指定权限    m 指定权限
t     先写目标   后写源
which 寻找文件  a 将所有PATH目录中可以找到的指令均列出      
type
whereis 寻找特定文件    b二进制     m在manual路径下的文件     s找source来源文件     u找不在之前三个项目中的其 他特殊文件
搜索系统中的文件数据库 而不是直接搜索硬盘 这样比find更快 数据库更新 根据发行版本不同 默认可能一周一次
所以新建的文件在数据库中找不到
locate 定位文件位置 与whereis相同 都是查找系统文件数据库
i忽略大小写 r正则表达式 数据库文件 /var/lib/mlocate 手动更新数据库命令updatedb 根据文件/etc/upd atedb.conf 再搜索硬盘文件名
 
 
特殊权限 除了r  w   x外还有其他的特殊权限      x执行权限  也是目录的打开权限
SUID set uid出现在owner的x位置上   
suid权限仅适用于二进制程序   不适用于shell script      当前用户对于该程序有可执行的权限     本权限仅在执行程 序的过程中有效    执行者将具有该程序拥有者的权限   例如/etc/shadow文件
SGID 当s出现在群组中的属性x位置时     同时可以针对文件和目录    
针对文件:二进制程序     执行者对于该程序来说需要x的权限      在执行过程中将获得该程序群组的支持
针对目录:用户具有r与x的权限  能够进入此目录       此目录下的有效群组会变成该目录的群组      
如果用户在此目录下具有w的权限   则使用者所建立的新文件  该文件群组与此目录的群组相同    适用于项目开发
SBIT sticky bit   只针对目录   
当用户对于此目录具有w x权限    就是具有写入的权限时
当用户在该目录下建立文件或目录时  仅有自己与root才有权利删除该文件
配置方式
SUID:4                  SGID:2    SBIT:1
在原来的rwx的权限基础上再加上上面的对应数字
例如原来的文件权限为755      想要在此基础上加上suid 的权限  则可以设置为:chmod 4755 filename
 
*****权限与指令之间的关系
两者的结合 很重要
一、让用户能够进入某目录成为可工作目录的基本权限
可使用的命令:cd等变换工作目录的指令
目录所需权限:用户对这个目录至少有x的可执行的权限  即可以打开进入此目录的权限
额外:如果想利用ls查阅文件名    则用户对此目录还要有r的权限
二、用户在某个目录内读取文件的基本权限
指令:cat more less等
权限:目录有x权限
文件所需权限:使用者有r权限
三、使用者可以修改一个文件
指令:nano   或vi
权限:目录有x权限
文件所需权限:使用者有该文件的w和r的权限
四、使用者建立一个文件的基本权限
指令:用户在该目录要具有w和x的权限     重点在w
五、让用户进入某目录并执行该目录下的某个指令基本权限
目录权限:用户具有该目录的x权限
文件权限:文件至少有x权限
umask默认文件权限为666              目录权限为777
 
 
 
 
 
 
 
 
BASH组成和特性
shell分为两类    用户使用计算机时   使用的程序   广义可以分为以下两类
GUI:GNOME     KDE     XFCE
CLI: sh    csh ksh bash tcsh zsh
 
1命令历史
2管道重定向
3命令别名
4命令行编辑
5命令行展开
6文件名通配
7变量
8编程
 
 
 
命令行编辑:
光标跳转:
ctrl+a 跳到命令行首
ctrl+e 跳到命令行尾
ctrl+u 删除光标至命令行首的内容
ctrl+k 删除光标至命令行尾的内容
ctrl+l 清屏
命令历史:
上下箭头
!n  执行命令历史中的第n条命令
!-n  执行命令历史中的倒数第n条命令
!!n  执行上一条命令
!string 执行命令历史中最近的以string开头的命令
!$ 引用前一个命令的最后一个参数
esc松手   再按. 引用前一个命令的最后一个参数
alt+. 引用前一个命令的最后一个参数
tab 命令补全   一次tab和两次tab的区别
目录补全
 
history   查看命令历史
-c 清空历史命令    内存中
-d 删除指定位置的命令   加offset参数
-w 保存命令历史至历史文件中
保存命令文件的位置    家目录 .bash_history    追加的方式
环境变量:
PATH:命令搜索路径
HISTSIZE:命令历史大小    条目数
命令别名:只在当前shell生命周期有效   所以当前shell进程关闭后  即失效    想让别名永久有效   需要配置sh文件
alias CMDALIAS='command [options][arguments]'
unalias CMDALIAS 撤销别名
命令替换:***常用的重要
把命令中某个子命令替换为其执行结果的过程
例子 1 #echo $(pwd)
会先运行$(pwd) 将pwd的结果打印到标准输出上 此种方式即为命令替换
例子2 按照时间格式作为文件名创建文件
file-2013-02-28-14-53-31.txt 蓝色部分为当前的时间
#touch ./file-$
文件名通配符
* 任意长度字符
? 任意单个字符
[ ] 匹配指定范围内的任意单个字符
[a-z] [A-Z] [0-9] [a-zA-Z][0-9A-Za-z]
[:space:] 空白字符  
[:punct:] 标点符号
[:lower:] 小写字母
[:upper:] 大写字母
[:alpha:] 大小写字母
[:digit:] 数字
[:alnum:] 数字和大小写字母
man 7 glob 此命令可以查看以上所有
举例:[[:alpha:]]*[[:space:]]*[[:alpha:]]   代表字母开头   字母结尾    中间有空白字符的字符串
[^ ] 匹配指定范围之外的任意单个字符
posted on 2017-11-27 09:12  学习记录园  阅读(289)  评论(0编辑  收藏  举报