一 linux基础知识
1.1 ls 显示当前目录或者文件 ls -l 查看文件的详细信息 ls -ld 查看目录的详细信息
-rw-r--r--. 1 root root 969 2月 22 2013 yum.conf
第一个字段:文件类型 ;linux中文件的类型有如下几类 1 - 二进制文件 d 目录 c 字符设备文件
b块设备文件(block),p (pipe)管道文件,s (scoket)套接字文件,l 链接文件。
第二字符 rw-r--r-- 9个字符每三个一组表示 所有者 所属组 其他人的权限 ;
r:读权限,w:写权限,x :执行权限;此处要说明的是文件的读 写 执行权限与 目录的读 写 执行权限的区别
文件的读权限 表示可以查看文件的内容 如cat less more
写权限 表示可以修改文件的内容
执行权限 表示可以当做程序执行
目录的读权限 表示可以查看目录下的文件的信息 如 ls 但是此时不能 使用ls -l
写权限 表示可以在目录中创建 文件
执行权限 表示cd进此目录 当他同时具有执行和读权限时 可以使用 ls -l 查看文件的详细信息
第三字段 链接数
第四字段 第五字段 所有者 所属组
第六字段 文件的大小 注意:若此时问设备文件是 此时不显示文件的大小表示的主 副 设备编号
第七字段 最近一次的访问时间 access 任何文件或者目录都有三个时间 1access 2modify 3change
access 表示访问时间 modify 表示对文件内容的修改 ,此两者任何修改一种都会影响到change时间
查看此三种的命令是 stat 命令: stat 文件名
1.2 获取帮助的方式
linux中命令分两种 一种是内部命令 一种是外部命令 可以通过 type 来查看
type cd ;cd is a shell builtin 内建命令
type install ;install is /usr/bin/install 外部命令
内建命令 可以使用 命令 --help 或者 help 命令 来查看帮助文件
外部命令 需要使用man 文档来使用帮助
man 的帮助文档分为如下几类 1 普通用户命令 2系统调用 3库调用 4设备文件 5文件格式 6游戏 7杂项 8管理命令 ;可以通过whatis 命令 来查看外部命令的帮助文档 如:
[[email protected] tmp]# whatis sed
sed (1p) - stream editor
sed (1) - stream editor for filtering and transforming text
此处的帮助文件是以 more 文档的形式打开的 ,可以使用 space键 向后翻一屏 enter键 向后翻半屏 b 向前翻一屏 ;
1.3关于日期的命令
date 显示是系统时间 hwclock 表示硬件时间 hwclock -w 设置硬件时钟从系统时钟中同步
hwclock -s 设置系统时钟从 硬件时钟中同步
date 1114212216.30 表示设置当前时间为 11月14号21点22分 16年 30秒 (注意此时的格式)
有时候我们可以需要特定的时间显示格式如我们直接使用date
[[email protected] tmp]# date
2016年 11月 14日 星期一 21:23:30 CST
[[email protected] tmp]# date +%Y%m%d%H%M%S
20161114212432
这种存数字显示模式的记忆方式为 只有日 月为小写 其他全为大写
cal 2016查看 日历
cal 12 2016 查看2016 12月的日历
1.4 常用文件操作命令
1 创建文件 touch ;touch 文件 当文件不存在时表示创建文件,当文件存在时表示更新其访问时间
touch
-a 跟新access 时间
-m 更新 modify 时间
-c 不创建文件
-s -a 设置access时间为指定时间格式为 [[CC]YY]MMDDhhmm[.ss]
2 创建目录 mkdir
-p 递归创建目录
-v 显示其执行过程
mkdir -p /tmp/{x,y} = mkdir -p /tmp/x /tmp/y
此时用到了{,} linux中的花括号展开用逗号分隔的字符
3 文件的复制 cp
-r或者-R 表示其子目录一律都复制
-p 表示保持其文件原有的属性;此处注意默认只是用cp命令复制文件时 文件的所属者是当前当登陆的系统用户,如 当前系统登录的是root 他复制的是 user1 的文件 复制后文件的所有者为 root,为了保持原文件的属性必须使用-p 选项,虽然使用了-p 选项当时针对软连接文件 复制的是其软链接所指向的原文件,要复制软连接本身必须使用-P(大写);结合-r 选项 一起使用时 可以使用-a(存档 备份);
对文件复制的说明 cp file1 file2 当file2 不存在时表示复制file1并改名叫file2 ,当file2 文件存在时,表示将file1文件覆盖到file2 文件中;
对目录复制的说明 cp dir1 dir2 当目录2 不存在时 表示将目录1复制过来并且改名为dir2;当dir2存在时表示将目录1复制到目录2的子目录中;
4 文件的剪切 mv 剪切命令对文件和目录的操作一样不需要加-r 选项
5 install 复制文件 (并增加执行权限)install只能复制文件 不能复制目录
install -d 创建目录
install /etc/passwd /tmp/passwd
6 du 查看文件大小 (既可以查看文件也可以查看目录的的大小)
du -s 只查看文件的总大小 不加-s 选项会默认将将目录下其所有的子目录都会分别显示其大小
7 ls 查看文件的属性
-l 查看详细属性
-a 显示所有文件 包括隐藏文件 包括其父目录
-A 同-a 相同但是其不显示父目录
-i 显示其i节点号 ,所谓inode 表示该文件的唯一标示 ,当文件名比较特殊时可以直接删除其inode来删除文件
8 echo 打印输出
-e 表示使用特定的转义字符来表示特殊含义 如 \n 换行
9 id 查看当前用户的基本信息
-u 查看其uid (文件名)
-g 查看其gid (基本组)
-n -u 表示显示其用户名
-G 查看其附件组
一般用户的组 默认组称为基本组 ,在创建用户时如果没有指定其基本组,则基本组为只有自己一个人的组称为私有组,但是在创建用户是指定了其他组(非私有组)此组也是基本组但就不是私有组了基本组之外的组称为附加组或者额外组。
1.5 文本文件的查看
1 cat
-n 显示每行的行数
-E 显示每行的结束符;注意linux文本文件的行结束符号是$,而windows的行结束符号为enter+$ ;
2 more 查看文本文档 man文档使用的是此命令查看;此时注意 more来查看文档时还可以使用搜索
/关键字 从前向后搜索 ?关键字 从后向前搜索
3less 命令同 more 相同但是 less 查到最后不会退出,但是more 会自动退出
4 head 表示从文件头开始查看 默认只查看文件的前10行
head -1 /etc/passwd 查看第一行
5 tail 表示从文件的尾部开始查看 默认只查看10行
tail -1 /etc/passwd 表示查看最后一行
tail -f /文件 表示动态查看该文件的最后10行,一旦该文件有更新 马上就会显示出来
1.6 文本文件的编辑与查看cut sort uniq wc join tr
1 cut -d: -f1,3 /etc/passwd 表示显示以:为分隔符 中第一个字段 和第三个字段
-d 表示指定分隔符 -f 表示指定分隔字段
2 sort 默认作用是排序 (以首个字符的第一个字母进行排序)
-t 指定分隔符号记忆方式direct
-k 指定分隔字段
-n 以数字进行排序
-u 表示相同重复的行只显示一次
-f 忽略字符大小写 ignore case
-r 表示逆序显示
sort -t: -k1,3 /etc/passwd
3 uniq 显示重复的行
-d duplication 只显示重复的行
-c count 显示所有的行 并显示其重复的次数
4 wc 显示文本文件中行数 单词数 字节数
-l line 显示行数
-c 显示字节数
-w word显示字数
-L 显示最长的一行的字节数
5 join 表示连接并显示
join fiel1 file2
cat file1 显示如下
hello 95
linux 85
test 30
cat fil2 显示如下
hello 2005
linux 2009
test 2006
join fil1 fil2
hello 95 2005
linux 85 2009
test 30 2006
5 tr 转换或者删除字符
tr [option] ....SET1 [SET2] 其中的SET 表示字符集
[[email protected] one]# echo "abcdeee" | tr -d ‘ab‘
cdeee
2 将/etc/passwd 文件中所有的小写字母转换为大写字母
tr ‘a-z‘ ‘A-Z‘ < /etc/passwd 默认tr是不能带参数的 因此此处通过重定向来传送给他