1. Linux系统主要目录及内容:
目录 |
内容 |
/bin |
构建最小系统所须要的命令(最经常使用的命令) |
/boot |
内核与启动文件 |
/dev |
各类设备文件 |
/etc |
系统软件的启动和配置文件 |
/home |
用户的主目录
|
/lib
|
C编译器的库
|
/media
|
可移动介质的安装点
|
/opt
|
可选的应用软件包(不多使用)
|
/proc
|
进程的映像
|
/root
|
超级用户root的主目录
|
/sbin
|
和系统操做有关的命令
|
/tmp
|
临时文件存放点
|
/usr
|
非系统的程序和命令
|
/var
|
系统专用的数据和配置文件
|
2.查看目录和文件:
ls 的用法
ls -F: 会在每一个目录后加上/,在可执行文件后加*,在连接文件后加上@,在没法显示颜色的终端上有用:
ls -a: 显示全部的文件,包括隐藏文件如".adobe";
ls -l: 查看文件的各类属性。
“-rwxr-xr-x 1 root root 38096 2008-11-13 14:54 /bin/login”:
第1个字段的第1个字符表示文件类型;
而后3组位权限:属主,属组和其余人的权限
权限后的数字,表示连接数
root和root分别是属主和属组
最后4个分别表示文件大小、最后修改日期和时间、文件的完整路径
文件类型
|
符号
|
文件类型
|
符号
|
普通文件
|
-
|
本地域套接字 |
s
|
目录
|
d
|
有名管道
|
p
|
字符设备文件
|
c
|
符号连接
|
l
|
块设备文件
|
b
|
|
|
查看文本文件
cat(一次显示全部的内容)和
more(一页一页的显示)和
less(优先选)
cat 文本文件名(能够加多个文件名)
cat -n (显示行号) 文本文件名 (能够加多个文件名)
对于more的详细说明:
例子:
# more -dc/etc/profile 注:显示提示,并从终端或控制台顶部显示;
# more +4/etc/profile 注:从profile的第4行开始显示;
# more -4/etc/profile 注:每屏显示4行;
# ls -l/etc | more 注:查看一个目录下的文件时,能够和管道“|”结合起来
more [参数选项] [文件]
+num 从第num行开始显示;
-num 定义屏幕大小,为num行;
+/pattern 从pattern 前两行开始显示;
-c 从顶部清屏而后显示;
-d 提示Pressspace to continue, 'q' to quit.(按空 键继续,按q键退出),禁用响铃功能;
-l 忽略Ctrl+l(换页)字符;
-p 经过清除窗口而不是滚屏来对文件进行换页。和-c参数有点类似;
-s 把连续的多个空行显示为一行;
-u 把文件内容中的下划线去掉
more 的动做指令:
Enter 向下n行,须要定义,默认为1行;
Ctrl+f(或空格) 向下滚动一屏;
Ctrl+b 返回上一屏;
= 输出当前行号
q 退出more
(退出后,不返回刚才more的位置,回到显示文档后面)
对less的详细说明:
less [参数] 文件
-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是经过底部滚动完成刷新;
-f 强制打开文件,二进制文件显示时,不提示警告;
-i 搜索时忽略大小写;除非搜索串中包含大写字母;
-I 搜索时忽略大小写,除非搜索串中包含小写字母;
-m 显示读取文件的百分比;
-M 显法读取文件的百分比、行号及总行数;
-N 在每行前输出行号;
-p pattern搜索pattern;好比在/etc/profile搜索单词MAIL,就用 less -p MAIL/etc/profile
-s 把连续多个空白行做为一个空白行显示;
-Q 在终端下不响铃;
动做指令:
回车键 向下移动一行;
y 向上移动一行;
空格键 向下滚动一屏;
b 向上滚动一屏;
d 向下滚动半屏;
h less的帮助;
u 向上洋动半屏;
w 能够指定显示哪行开始显示,是从指定数字的下一行显示;好比指定的是6,那就从第7行显示;
g 跳到第一行;
G 跳到最后一行;
p n%(貌似不能用) 跳到n%,好比 10%,也就是说比整个文件内容的10%处开始显示;
/pattern 搜索pattern ,好比 /MAIL表示在文件中搜索MAIL单词;
v 调用vi编辑器;
q 退出less
!command 调用SHELL,能够运行命令;好比!ls 显示当前列当前目录下的全部文件;
12. 显示一个命令的帮助:
命令 --help(或--h)
13. 阅读文件的开头和结尾
head -n 2(指定显示行数) 文件名(可多个)
tail(用法同head)
14. 查找文件内容
grep un day(为了在文件day中查找包含un的行)
15. 在指定目录下查找东西
find 目录 -name *.zip -print(打印出绝对路径)
16.更快速的定位文件:
locate
locate *.doc ##locate用于搜索大批量的文件,不须要知道放在了哪一个盘
17.通配符
”
*“ 用于匹配文件名中任意长度的字符串;
”
?“ 只匹配一个字符;
”
[ ]“ 用于匹配全部出如今方括号内的字符;例:ls text [1A] ##列出以text开头而仅以1或A结束的文件名;
”
-“ 指定一个字符集范围;例:ls text [1-3];
18.命令行补全:
一次table键,或连续两次table键
3.修改文件和目录
- 新建目录:mkdir
mkdir
-v 【文件夹名】 ##-v会显示最后结果
mkdir document picture ##新建两个目录
mkdir ~/picture/remp ##在主目录下新建名为temp的目录(不能在一个没有的文件中建立文件)
mkdir
-p ~/tempx/job ##能够完整的建立一个子目录
- 删除目录和文件:rmdir 和 rm
rmdir test ## rmdir 只能删除空目录
rm test/*.pnp ## rm能够一次删除
一个或几个文件
rm
-i test/hello ##删除文件前会提示,并等用户通知(对于有写保护的普通文件,不加“-i”也会提示)
rm
-f hello_bak ##“-f”避免交互,自动对这些问题回答y
rm
-r Photos/ ##递归的删除目录下的全部文件和子目录,最后删除Photos目录
- 新建空文件: touch
touch hello ##新建一个hello的空文件
touch hello.php ##修改文件的创建日期
- 移动和重命名:mv
mv hello bin/ ##复制文件
mv Photos/ 桌面/ ##复制目录
mv
-i hello test/ ##若是已有文件,显示:mv:是否覆盖“test/hello?"
mv -b hello test/ ##在移动文件以前,首先在同名文件的文件名后加一个”~“
- 改变文件全部权:chown和chgrp
sudo chown lewis:root days ##修改days的全部权
sudo chown guest days ##只修改文件属主
sudo chown
:root days ##只修改文件的属组
sudo chown
-R lewis iso/ ## "-R" 表示改变一个目录及其下全部文件(和子目录)的全部权
sudo
chgrp nogroup days ##改变文件的属组
sudo
chgrp nogroup ios/ ##改变目录的属组
- 改变文件的权限:chmod
chmod
u+rwx days ## "用户组
+(增长)/
-(撤销)权限",用户组包括了文件属主(u), 文件属组(g),其余人(o),和全部人(a)
##
不写该字段默认改变全部人的权限
## 权限包括了读取(r)、写入(w)、执行(x)
chomd
ug=rw,o=r days ## "用户组=权限"
chmod
o=u days ## "用户组1=用户组2",将用户组1的权限和用户组2的权限设为彻底相同。
八进制表示文件权限“rwx”二进制(
111)=八进制(4+2+1)=7
- 创建连接:ln
“符号连接”(软连接)须要使用带 -s 参数的 ln 命令,只是取了一个别名,删除连接的名字,不会影响源文件
ln -s days my_days ##文件创建一个名为my_days的符号连接指向文本文件days(起别名)
ln -s /usr/local/share/ local_share ## 目录创建符号连接
“硬连接”,不带参数,将两个独立的文件联系在一块儿,和符号连接的区别:硬连接是直接引用,符号连接是名称引用
ln days hard_days
- 输出重定向:“>”“>>”"<<"
标准输出老是指向显示器
ls > ~/ls_out ##若是ls_out文件不存在,那么“>”会试图创建这个文件,
##若是已经存在,则“>“会删除文件中原有的内容,而后用新内容替代
echo "Hello" > hello ##将Hello字符串输入到hello文件中
echo "www"
>> hello ##将字符串 追加 到文本的后面
uname -r >> hello ##将uname产生的版本信息
追加 到hello中
date >> hello ##将date命令产生的当前日期时间追加到hello中
例子:
“当即文档”
cat <<
EOF ##cat命令从键盘接收两行输入,并送往标准输出
>hello
>bye
>
EOF
cat <<
END > hello ##首先让cat命令以当即文档的方式获取输入,而后再把cat的输出重定向到hello文件中
>hello world
>bye
>
END
- 管道:“|”
例子:ls 首先列出当前目录下的全部文件名,
管道“|”接收到这些输出,并把它们发送给grep命令做为输入。最后grep在这堆文件列表中查找
包含字符串ay的文件名,并在标准输出(也就是显示器)中显示。
ls | grep ay
days
hard_days
mplayer
mplayer~
my_days
- 打开文本文件:vi、vim、sudo gedit 文件路径(可绝对可相对,在gedit中打开)
sudo
gedit 文件路径 ##若是没有该文件,系统会自动建立
- 压缩工具:gzip和bzip2
gzip(或gunzip)支持的扩展名有 . gz、. Z、-gz、. z、-z 和 z
gzip test.tar ##压缩 ,会被压缩成
test.tar.gz(
替换)
gunzip test.tar.gz ##解压缩,方法1
gzip
-d test.tar.gz ##解压缩,方法2
gzip
-l test.tar.gz ##查看压缩效果,文件大小以字节为单位
gzip -tv test.tar.gz ##-t选项用来测试压缩文件的完整性,-v 显示测试结果
bzip2能够识别压缩文件的格式包括.bz二、.bz、.tbz二、.tbz和bzip2,与gzip用法基本一致,有更高的压缩率,可是以压缩速度为代价
bzip2 test.tar ##压缩,会被压缩成
test.tar.bz2(
替换)
bunzip2 test.tar.bz2 ##解压缩,方法1
bzip2 -d test.tar.bz2 ##解压缩,方法2
- 存档工具:tar、dd
文件打包:tar(和gzip不一样的是,
tar不会删除原来的文件)
tar
-cvf test.tar test/ ##将Shell目录连同其下的文件一同打包成文件test.tar
-c 指导tar建立归档文件,
-v 用于显示命令的执行过程,
-f 则用于指定归档文件的文件名
tar
-xvf test.tar ##解开归档文件
-x 用于解开归档文件
tar -cv
wf test.tar test/ ##压缩征求用户意见
tar -xv
wf test.tar ##抽出时征求用户意见
-w 用于每次将单个文件加入(或者抽出)归档文件时征求用户的意见,y/n
tar -czvf shell.tar.gz shell/ ##直接将文件压缩成shell.tar.gz格式
-z 先调用tar命令,再调用gzip命令,等同于两条指令
tar -xzf shell.tar.gz ##直接解压成shell
-z 先调用gunzip指令,再调用tar指令
转移文件:dd
dd
if=/dev/cdrom
of=CD.iso ##
dd命令使用
if 选项指定输入端的文件系统,而
of选项则指定其输出端。
##这条命令将一张CD完整的转储为iso镜像文件
————————参考《Linux从入门到精通》刘忆智