Linux

第二天:
命名规则:
Linux文件可以没有后缀名
1、/ 不可使用
2、空格 不建议使用,当操作带有空格的文件时,使用双引号,如  "a b"
3、以.开头都是隐藏文件
abc --> .abc
4、大小写严格区分  
Linux命令格式
命令 -选项 参数
Ls   -l    /etc
选项:命令执行时设置或者显示形式
参数:命令操作对象 
.   当前目录
..  父目录
命令存放位置(命令实质就是一个可执行文件)
/bin、/usr/bin     bin 所有用户可用  binary
/sbin、/usr/sbin   sbin 只有root可用  super binary
usr -- unix software resource 
命令操作时没有指定参数的绝对路径  默认-当前目录操作
LS命令(list)
 -选项
-a  all  显示所有文件,包括隐藏文件
-l  long  显示文件详细信息,-l无法显示隐藏文件,须配合-la
drwxr-xr-x  3 root root  4096 Mar 26 19:49 boot
第一部分drwxr-xr-x
d-第一位表示文件类型,d(directory)为目录
- 二进制文件(Windows带后缀名的文件)
d 目录 directory
l 软链接 link (类似Windows快捷方式)
rwxr-xr-x  文件权限
Linux用户分类:以文件为单位,每个文件把用户分成三类
1、文件所有者:文件创建者(拥有者),只能有一个用户
2、文件所属组:定义一组用户对文件的权限,只能有一个组
3、其他人:不是所有者,又不是所属组成员,就是其他人
所有者u        所属组g       其他人o
user/owner     group         others
rwx r-x r-x
 u   g   o
r-读read w-写write x-执行execute
第二部分3  -硬链接数(了解)
第三部分root   -文件所有者
第四部分root   -文件所属组
第五部分4096   -文件大小  1、目录大小不准确 2、KB为单位
PS:有的Linux以数据块为单位 block    512字节=0.5KB
数据块是数据存储的最小单位
数据块越大存取速度越快,越小浪费空间越少
             视频网站      气象局
第六部分Mar 26 19:49  -文件创建或最后修改的时间
第七部分boot   -文件名
-d  directory查看目录属性  ls -ld /home
-i 查看文件对应的inode
[root@sam home]#
[当前登录用户@主机名 当前工作目录]#(root) $(普通用户)
~ 表示当前目录为用户宿主目录 home directory 
当用户为root时,该目录在  /root
当用户为普通用户时:
tree 显示目录树  tree /usr/local
Cd 切换目录命令(change directory )
Pwd 显示当前所在工作目录print working directory
创建目录命令:mkdir
Make directorys
-p递归创建目录
创建文件命令 touch 文件名,可同时创建多个文件
文件复制命令 copy   cp
Cp -r 选项r表示复制目录
-p表示复制文件或目录时保留文件或目录属性
复制文件,同时更新文件名(dir1更名为dir2)
同时复制多个文件
Mv移动目录或更名
Rm 删除目录 remove
-r删除目录 (recursive 递归删除)
-f强制执行
要删除第一个字符为“-”的文件 (例如“-foo”),请使用以下其中一种方法:
 rm -- -foo
  rm ./-foo
Cat 显示文件内容 
Concatenate  display files
More 分布显示文件内容
Enter下一行,空格下一页,q或Q退出
cat 查看短文件
more 分页浏览(帮助信息调用more浏览)
空格/f  翻页   enter 换行   q/Q  quit退出
Head命令
head 查看文件前几行(默认10行) head -5 /etc/services
tail 查看文件末尾几行(默认10行) tail -3 /etc/services
tail -f 动态显示文件末尾内容(查看日志文件)
tail -f /var/log/messages
ln 生成链接文件 *
软链接: ln -s 源文件 链接文件名
硬链接: ln  源文件 链接文件名
硬链接I节点编号相同
(硬链接=cp -p+同步更新)
软链接特点:(类似Windows快捷方式)
1、lrwxrwxrwx 
2、文件大小(符号连接)
3、 /test/issue.soft -> /etc/issue  箭头指向源文件
Linux原则:内核只认识数字不认识字母
Linux内核所有操作对象必须通过数字标识标记调用
文件-- i节点
ls -i
每个文件必须有一个i节点
ln /etc/inittab /test/inittab.hard
ls -i /etc/inittab /test/inittab.hard
1248587 /etc/inittab  1248587 /test/inittab.hard
删除硬链接或源文件,内核只是减少一个i节点映射
软链接和硬链接区别:
1、硬链接不能对目录使用
2、硬链接不能跨文件系统(分区)
命令行常见错误
No such file or directory    参数写错误
command not found    命令写错误
文件处理命令总结:
ls -a -l -d -i / cd / pwd / mkdir -p / tree / touch / cp -r -p / mv / rm -r -f / cat / more / head / tail -f / ln -s 
=============================================
Chmod 改变文件或目录权限
Change the permissions  mode  of a file
Chmod -R以递归方式更改所有的文件及子目录
chmod 777 /demo  只改变/test权限为777
chmod -R 777 /demo   改变/test及目录下所有文件权限为777
添加用户命令
useradd helen
passwd helen
文件目录权限总结
          文件              目录
r    cat/more/head/tail      ls  
w         vim              mkdir/touch/rm
x     command/script         cd
目录权限:rx同时出现
Chown改变文件或目录的所有者
Change  file ownership
chown 用户名 文件名
作用:授权一个文件/目录让一个用户有全部操作权限
chgrp 组名 文件名 改变文件或目录的所属组
Umask 显示或设置文件的缺少权限(权限掩码)
默认创建文件:
权限-umask定义    umask -S
所有者-文件创建者
所属组-文件创建者的缺省组
* Linux默认创建二进制文件不能具有x权限
修改umask默认权限
权限管理命令:
chmod -R / chown / chgrp / umask -S 
            -R      -R 
rwx对文件和目录含义 *
===============================================
Which显示系统命令所在目录
Which 命令
查找命令所在路径
which    +别名
whereis  +帮助文档
文件查找find
find [查找范围] [匹配条件]
查找范围越小越好,匹配条件越精确越好
1)根据文件名查找 -name 
精确匹配
* 匹配任意字符
? 匹配单个字符
find /etc -name "*init*"
find /etc -name "init???"
-iname 不区分大小写
2)根据文件大小查找 -size (单位:数据块=0.5KB)
+n   大于
n    等于  x
-n   小于
200MB=204800KB=409600
find / -size +409600
3)根据所有者查找 -user
find /home -user helen
4)根据时间属性查找 min(分钟)  time(天)
-amin   -atime        a-access   访问时间
-cmin   -ctime        c-change   更改文件属性(所有者、权限ls -l)
-mmin   -mtime        m-modify   更改文件内容
find /etc -amin -60
find /website/dede/ -mmin -20
5)根据i节点查找 -inum
6)根据文件类型查找  -type
d 目录   f 二进制文件    l 软链接
条件连接符 
-a 逻辑与   find /etc -name "*init*" -a -type d
-o 逻辑或
连接执行符
-exec 
-ok   询问确认
find 查找范围 -exec/-ok 命令 {} \;
命令:一般支持常见文件操作命令 ls/rm等
{} 指代find查找结果
\ 转义符(转义符后的符号和命令使用其本意)
; 结束
find /etc -name "*init*" -a -type f -exec ls -l {} \;
find . -inum 96007 -exec rm {} \;
grep 在文件内容中查找
grep mysql /root/install.log
grep -i documentroot /etc/httpd/conf/httpd.conf
-i 不区分大小写
grep -v "#" /etc/httpd/conf/httpd.conf
-v 反向匹配
grep -v "#" /etc/httpd/conf/httpd.conf
-v 反向匹配
文件查找命令:
which / whereis / find -name -iname -size -user -amin -cmin -mmin -type -inum 
-a -o -exec -ok / grep -i -v
第三天
查看系统命令和系统配置文件帮助的命令man (manual)
语法:man [命令或配置文件](不要写绝对路径)  调用more浏览
命令的帮助通常查看内容:
NAME-命令的作用
DESCRIPTION-看具体的选项
配置文件的帮助查看内容:
NAME-配置文件保存内容
DESCRIPTION-看配置文件的格式
当系统中具有同名的命令和配置文件时,使用帮助类型:
1-命令的帮助
5-配置文件的帮助
查看shell内置命令的帮助信息,help
help 查找内置命令的帮助
help查看shell语句语法结构  help if
内置命令:which找不到命令路径的命令
压缩(解压缩)命令
.gz
gzip(gunzip/gzip -d)命令原意:  GNU zip/GNU unzip
1、不保留源文件,压缩后不保留原文件,解压后不保留原压缩包,压缩后格式为.gz
2、不能压缩目录
.tar ( 功能:打包目录,将一个目录打包成二进制文件)
tar -zcvf 压缩后文件名 要压缩的目录
-z 调用gzip打包同时压缩
-c 建立打包文件( create )
-f 指定文件名( file )
-v 显示命令执行的详细信息( verbose )
解压缩命令
解包 -x  (extract对应打包的-c)
tar -zxvf newdir2.tar.gz
ZIP
.zip
zip(unzip)
windows和linux缺省都支持的格式
zip services.zip services  (压缩文件)
zip -r newdir.zip newdir(压缩目录)
解压缩
.bz2  ( gzip的升级版, 只能压缩解压文件,不能压缩目录。1、-k可以保留源文件   2、压缩比更高)
bzip2(bunzip2)   
bzip2 -k services
tar -cjf newdir.tar.bz2 newdir
(把调用gzip的-z换成-j)
tar -xjf newdir.tar.bz2
write 用户名
回车,ctrl+d 保存退出
1、用户必须在线
who查看当前在线用户
用户名  终端   登录时间   登录地址
        tty 本地登录
        pts 远程登录
发送方
接收方
2、wall广播  
发送方
接收方
ping
1、是否ping通
2、丢包率 packet loss
 ping -c 1000 -s 60000 192.168.20.250
 -c count 次数  -s size icmp请求包大小
ctrl+l 清屏    clear
ctrl+u 清除光标前字符 
ctrl+c 终止命令执行
本机复制   鼠标左键选中,中键复制
补齐功能 Tab键
命令历史 history   上下箭头命令翻页
重新执行历史命令使用!
alias 别名=命令or“命令组合”
查看 alias
Rm 是rm -i 的别名,要使用rm 原来的rm命令如下(不使用别名,不询问删除)
-i 删除、复制、剪切   询问确认 interactive
删除别名 unalias
输出重定向  >、>>
/etc 存放配置文件
*.conf  服务配置文件  configure
*tab  系统配置文件  table
date 查看系统时间
>> 追加
输出重定向
输入重定向
错误输出重定向
输出重定向 -- 只是输出正确的命令执行结果
错误输出重定向 -- 只记录命令出错信息
WC -L统计文件的行数
命令连接符
管道优先级大于命令连接符
命令替换符
APACHE=`ps -le | grep httpd` 
把一个命令的执行结果赋值给变量