主要是从51cto学习马哥的视频教程(http://edu.51cto.com/course/course_id-618.html)
把课堂笔记先写再这里,有空整理一下,自己看的,所以不对内容的准确性负责,自己看懂就好
一、文件详解(这个等于是linux对文件夹的官方定义)
这是其他人总结的:http://www.jb51.net/LINUXjishu/32180.html
/bin所有用户所用的二进制文件(系统运行的基本程序)
/sbin管理员使用的二进制文件(超级管理员常用的命令)
/boot内核,为boot load存放的位置
/dev设备文件,所有的设备都在这里(无论虚拟还是物理设备,在linxu看来 “一切皆文件!”)
/etc配置文件
/home普通用户的家目录
/media 挂载点(ubuntu是挂在这里)
/mnt挂载点(redhat是挂在这里)
/lib共享库和内核模块
/opt可选软件安装路径(比如自己mark的软件这种)
/rootroot用户的家目录
/sru符文运行中的中间数据(临时数据?)
/tmp临时文件位置
/usr系统共享基本的只读文件
./share一些共享文件,图标什么的
./bin主要放置一些应用软件工具的必备程序(类似运行环境软件)
./sbin主要放置一些用户安装的系统管理的程序
./lib库文件
./include头文件
./local第三方二进制文件的程序安装目录
/var数据文件为主
./log各种日志
./spool应用程序缓冲数据
./lib主要是数据库文件
/proc内核信息(已启动后的信息,他是一个虚拟文件库,通过这个文件夹可以查看硬件实时信息如cpu、内存等)
/sys内核信息(主要是硬件的驱动信息)
二、常用命令
1、ls命令
ls-l显示文件的基本信息
-rw-r--r-- 1 root root 51 9月 2 21:55 vdpau_wrapper.cfg
drwxr-xr-x 2 root root 4096 8月 5 13:12 vim/
lrwxrwxrwx 1 root root 23 1月 11 09:28 vtrgb -> /etc/alternatives/vtrgb
-rw-r--r-- 1 root root 4812 10月 30 2014 wgetrc
普通文件:-/f
目录文件:r
符号链接:l
硬链接:-
块设备:b(随机,按块读取)
字符设备:c(线性,按字符逐个读取)
套接字文件:S
命名管道:p
ls -l=ll,列出目录文件机文件基本信息
第一列第一个代表文件类型,后面9个代表文件权限;第二列代表文件被硬链接的次数;第三列大小;第四列最后一次修改日期;然后就是文件名
ls的相关选项:
-l
-d显示目录本身的属性
-r逆序显示
-R递归的显示目录及下面每一级别文件及目录==>>类似tree?
-i显示文件的索引号
以上就是常用的,完整信息可以参考这个http://www.cnblogs.com/peida/archive/2012/10/23/2734829.html
2、mkdir创建文件夹
-p递归创建多级目录
-v显示创建 过程
另外一个特殊用法 使用{ },效果如下
user@U-tp:/tmp/test$ mkdir {a,b}-{c,d}
user@U-tp:/tmp/test$ ll
总用量 24
drwxrwxr-x 6 user user 4096 1月 24 23:08 ./
drwxrwxrwt 9 root root 4096 1月 24 23:07 ../
drwxrwxr-x 2 user user 4096 1月 24 23:08 a-c/
drwxrwxr-x 2 user user 4096 1月 24 23:08 a-d/
drwxrwxr-x 2 user user 4096 1月 24 23:08 b-c/
drwxrwxr-x 2 user user 4096 1月 24 23:08 b-d/
3、cp复制文件
-r/R递归复制
-i显示提示信息(如覆盖提示)
-p保留源文件的权限、时间戳及属组信息
-a保留源文件的所有属性,等于-dR --preserve=all
-d若文件是link,则复制文件本身,而不是link
当cp -r file1 file2 directory1 directory2时,directory2为目的地,前三个为源文件,directory2必须为目录,不可以是文件
默认情况下alias cp=cp -i,所以如果想使用cp本身的意思的时候,需要使用\cp
4、mv移动文件
同cp,但mv默认就-r递归复制目录
5、rm 删除文件
-r递归删除
-f不提示直接删除
6、touch 改变文件时间戳,当文件不存在的时候创建文件(-c 则不会创建)
-a 读取时间
-m 修改时间
-t 定义时间,格式必须为[[CC]YY]MMDDhhmm [.SS]
-d 定义时间,格式参考date,
-r 可以复制后面一个文件的时间戳给前一个文件
参考http://www.linuxeden.com/html/softuse/20140323/149845.html
7、stat 查看文件的详细信息
8、file 显示文件类型
9、cat 显示一个或多个文件(使用是shifit+page up / page down可翻页)
-n 显示行号
-E 显示非打印字符(比如换行符神马的)
10、tac 逆序显示文件(按照行倒序)
11、more 分页显示文件
若文件未到末尾,可使用b/d翻到上一页/下一页(文件到末尾会自动退出程序)
12、less 查看文件(可以随意前后,不会自动退出程序)
常用快捷键(h键可以调出帮助):
f/空格--向后翻一页
b--向前翻一页
d--向后半屏
u--向前半屏
y/j/回车--下一行
e/k--上一行
n+j/k/d/u--翻n行/n屏
/--向下搜索
?--向上搜索
n/N重复上一个搜索(比如是?,则n就是向上)
13、head 显示文件前10行
-n 20 前20行
14、tail 显示文件最后10行
-n 20 后20行
-f 监控文件,若最后10行内容更改会实时显示
15、cut 修建文本
$cut -d: -f 3-5,2 passwd
以:为分隔符剪切文件,显示其中第3-5列和第2列
16、tr 替换字符串(按照第一个字符串和第二个字符串逐字符进行替换)
$echo "adbdcded" |tr "abc" "ACB"
AdCdBded
替换的是单个a,b,c而不是abc连起来
$ echo "abcd"|tr -d "bc"
ad
删除 -d后面的字符
从系统解释扣过来的:
[:alnum:] 所有的字母和数字
[:alpha:] 所有的字母
[:blank:] 所有呈水平排列的空白字符
[:cntrl:] 所有的控制字符
[:digit:] 所有的数字
[:graph:] 所有的可打印字符,不包括空格
[:lower:] 所有的小写字母
[:print:] 所有的可打印字符,包括空格
[:punct:] 所有的标点字符
[:space:] 所有呈水平或垂直排列的空白字符
[:upper:] 所有的大写字母
[:xdigit:] 所有的十六进制数
还有 a-z,0-9这些
17、wc 文本统计
user@U-Dp:~/test$ wc t4
111 183 5961 t4
111行,183个单词,5961字节,文件名t4
-l 只显示行数
-w 只显示单词数
-c 只显示字节大小
18、sort 根据行首字母排序(ASCII码)
$sort -t ":" -k2 -rk3 passwd
将passwd按照:分隔,首先按照第二列排序,若第二列相同,则按照第三列逆序排列
-b 忽略空白
-n 若首字符为数字,则按照完整的数值排序
默认 11 只会看第一个1,-n后11会被看成完整的11
-r 逆序排列
dd复制文件(底层复制)
dd if=/dev/cdrom of=/tmp/a.iso
可以直接将cdrom里面的东西直接复制成镜像
dd if=/dev/sda of=/tmp/mbr count=1 bs=512
将mbr复制下来