Linux系统的理念是:一切皆文件。而文件,就要涉及到命名规范,如下所示:
1)除了/之外,所有字符都合法
2)有些字符最好不要用,如空格符、制表符、字符@#$&()-等
3)避免使用.作为普通文件名的第一个字符。
4)大小写敏感
今天我们来学习一下常用的命令(命令一般为可执行文件):
命令格式:命令 -选项 参数
eg: ls -la /etc
说明:
1)当有多个选项时,可以写在一起
2)两个特殊的目录 .和 .. ,分别代表当前目录和当前目录的父目录
一、文件处理命令
1、ls命令
命令原意:list 命令路径:/bin/ls 执行权限:所有用户
功能描述:显示目录里包含的文件,或查看文件权限(包括目录、文件权限)、查看目录信息等等
语法: ls 选项 [目录或文件]
常用参数搭配:
a :列出目录所有文件,包含以.开始的隐藏文件
A :列出除.及..的其它文件
r :反序排列
t :以文件修改时间排序
S :以文件大小排序
l :除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
d:查看目录的属性
2、cd命令
命令原意:change directory 命令路径:shell内置命令 执行权限:所有用户
功能描述:用于切换、改变当前的目录
语法:cd [目录]
Ex: cd / 切换到根目录
cd .. 回到上一级目录
3、pwd命令
命令原意:print working directory 命令路径:/bin/pwd 执行权限:所有用户
功能描述:显示当前所在的工作目录
语法:pwd
4、touch命令
命令原意: 命令路径:/bin/touch 执行权限:所有用户
功能描述:用于在文件系统上创建空文件
语法:touch [文件名]
Ex: touch HelloWorld.java
5、mkdir命令
命令原意:make directories 命令路径:/bin/mkdir 执行权限:所有用户
功能描述:创建新目录
语法:mkdir -选项 [目录名]
选项介绍:
-m: 对新建目录设置存取权限,也可以用chmod命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录;
Ex:
1) mkdir t
2) mkdir -p /tmp/test/t1/t
6、cp命令
命令原意:copy 命令路径:/bin/cp 执行权限:所有用户
功能描述:复制文件或目录
语法:cp -r [源文件或目录] [目的文件或目录]
-r 复制目录
Ex:
1)cp file1 file2 dir1 将文件file1、file2复制到目录dir1
2)cp –r dir1 dir2 将dir1下的所有文件及子目录复制到dir2
7、mv命令
命令原意:move 命令路径:/bin/mv 执行权限:所有用户
功能描述:用于移动文件、或对文件进行更名
语法:mv [文件或目录名] [目的目录]
Ex:
(1)将文件test.log重命名为test1.txt
mv test.log test1.txt
(2)将文件log1.txt,log2.txt,log3.txt移动到根的test3目录中
mv llog1.txt log2.txt log3.txt /test3
(3)将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
mv -i log1.txt log2.txt
(4)移动当前文件夹下的所有文件到上一级目录
mv * ../
8、rm命令
命令原意:remove 命令路径:/bin/rm 执行权限:所有用户
功能描述:用于删除文件
语法:rm -r [文件或目录]
选项介绍: -r 删除目录
-f 不再询问
-i 询问
Ex:
(1)删除任何.log文件;删除前逐一询问确认
rm -i *.log
(2)删除test子目录及子目录中所有档案删除,并且不用一一确认
rm -rf test
(3)删除以-f开头的文件
rm -- -f*
9、ln命令
命令原意:link 命令路径:/bin/ln 执行权限:所有用户
功能描述:创建链接文件,相当于windows的快捷方式
语法:ln -s [源文件] [目标文件]
-s 创建软连接
Ex:
(1) ln –s /etc/issue /issue.soft
创建文件/etc/issue的软连接/issue.soft
(2) ln /etc/issue /issue.hard
创建文件/etc/issue的硬链接/issue.hard
二、文件查看命令
1、cat命令
命令原意:concatenate and display files 命令路径:/bin/cat 执行权限:所有用户
功能描述:显示文件内容, 从键盘创建一个文件,或将几个文件合并成一个文件。
语法:cat [文件名]
cat > filename
cat file1 file2 > file
选项介绍:-b 对非空输出行号
-n 输出所有行号
实例:
(1)把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里
cat -n log2012.log log2013.log
(2)把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里
cat -b log2012.log log2013.log log.log
(3)使用here doc生成新文件
cat >log.txt <<EOF
>Hello
>World
>PWD=$(pwd)
>EOF
ls -l log.txt
cat log.txt
Hello
World
PWD=/home/michael
(4)反向列示
tac log.txt
PWD=/home/michael
World
Hello
2、more命令
命令路径:/bin/more 执行权限:所有用户
功能描述:分页显示文件内容
语法:more [文件名]
>>常用相关操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
实例:
(1)显示文件中从第3行起的内容
more +3 text.txt
(2)在所列出文件目录详细信息,借助管道使每次显示5行
ls -l | more -5
按空格显示下5行
3、less命令
less 与 more 类似,但使用 less 可以随意浏览文件,功能更强大。执行权限:所有用户
常用命令参数
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-s 显示连续空行为一行
b 向后翻一页
d 向后翻半页
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
实例:
(1)ps查看进程信息并通过less分页显示
ps -aux | less -N
(2)查看多个文件
less 1.log 2.log
可以使用n查看下一个,使用p查看前一个
4、head命令
命令路径:/bin/head 执行权限:所有用户
功能描述:查看文件的前几行
语法:head -num [文件名]
-num 显示文件的前num行
Ex: head -20 /etc/services
(1)显示1.log文件中前20行
head 1.log -n 20
(2)显示1.log文件前20字节
head -c 20 log2014.log
(3)显示t.log最后10行
head -n -10 t.log
5、tail命令
命令路径:/bin/tail 执行权限:所有用户
功能描述:查看文件的后几行
语法:tail -num [文件名]
-num 显示文件的后num行
-f 动态显示文件内容
Ex: head -20 /etc/services
(1)循环读取逐渐增加的文件内容
ping 127.0.0.1 > ping.log &(后台运行:可使用jobs -l查看,也可使用fg将其移到前台运行)
tail -f ping.log(查看日志)