Linux基础(一)
列出文件及目录
ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。
格式:ls [参数] [路径或文件名]
参数:
-a 显示所有文件或目录(包含隐藏的文件)
-l 显示文件详细信息
常用:
在linux中以 . 开头的文件都是隐藏的文件
ls
ls -a 显示所有文件或目录(包含隐藏的文件)
ls -l 列出当前目录下的文件列表,以详细信息展示,可以缩写为ll
ls -l / 列出根目录下的文件列表,以详细信息展示
切换目录
cd(change directory)命令可以用来切换目录
格式: cd <路径或目录名>
常用:
cd app 切换到app目录
cd .. 切换到上一层目录
cd / 切换到系统根目录
cd ~ 切换到用户主目录
cd - 切换到上一个所在目录
创建目录
mkdir(make directory)命令可用来创建子目录。
格式: mkdir [参数] <目录路径或目录名>
参数:
-p 级联创建目录结构
常用:
mkdir app 在当前目录下创建app目录
mkdir –p app2/test 级联创建aap2以及test目
删除目录
rmdir(remove directory)命令可用来删除“空”的子目录
格式: rmdir <目录路径或目录名>
常用:
rmdir app 删除app目录
2. 文件操作
查看文件内容
cat 用于显示文件的内容。
格式: cat [参数] <文件名>
参数:
-n 对输出的所有行编号
常用
cat yum.conf
cat -n yum.conf
more 一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。回车显示下一行内容。
格式: more [参数] <文件名>
常用:
more yum.conf
快捷键:
空格 翻页
确定 下一行
q 退出查看
less 用法和more类似,不同的是less可以通过PgUp、PgDn键来控制上下翻页。
格式: more [参数] <文件名>
常用:
less yum.conf
快捷键:
PgUp 上一页
PgDn 下一页
q 退出查看
head 查看文件的前面部分,默认显示前10行
格式: more [参数] <文件名>
参数:
-n 显示每个文件的前n行内容
常用:
head yum.conf 显示文件的前10行
head -100 yum.conf 显示文件的前100行
tail 查看文件的后面部分,默认显示最后10行
格式: tail [参数] <文件名>
参数:
-n 显示每个文件的后n行内容
-f 即时输出文件变化后追加的数据。
常用:
tail yum.conf 显示文件的最后10行
tail -100 yum.conf 显示文件的最后100行
tail -f yum.conf 显示文件的最后10行,并且监控文件的变化,输出文件变化后追加的数据。
过滤文件内容
grep 查找符合条件的字符串。
格式: grep <text> [参数] <文件名>
参数:
-i 忽略大小写
-n 输出的同时打印行号
-B 显示前N行的内容
-A 显示后N行的内容
--color 高亮展示查询关键字
常用:
grep headers install.log 在文件中查找headers
grep -B 10 headers install.log 在文件中查找headers,显示前10行的内容
grep -A 10 headers install.log 在文件中查找headers,显示后10行的内容
grep -A 10 --color headers install.log 在文件中查找headers,高亮展示关键字
创建空文件
touch 用于创建一个空文件
格式: touch <文件名>
常用:
touch aa.txt
删除文件
rm 用于删除文件或者目录
格式: rm [参数] <文件名>
参数:
-f 强制删除。忽略不存在的文件,不提示确认
-r 递归删除目录及其内容
常用:
rm a.txt 删除a.txt文件,输入y/n,y确认删除,n不删除
rm -f a.txt 不询问,直接删除
rm -r aa 删除aa目录,每个目录及文件都提示
rm -rf aa 不询问递归删除aa目录
rm -rf * 删除当前目录下所有文件
rm -rf /* 删除根目录下所有文件(自杀)
文件编辑
vi/vim 用于编辑文件, 一共有三种模式:命令行模式、插入模式、底行模式。
格式: vi/vim [参数] <文件名>
命令行模式: 用户在命令行模式可以按一些快捷键达到快速输入的目的,例如复制,粘贴,删除,插入等
插入模式: 用户可以在插入模式对文件内容进行编辑
底行模式: 用户可以底行模式输入一些命令,对文件进行操作,例如:保存退出,不保存退出,查找等
用户使用vi/vim命令编辑文件,刚开始进入到命令行模式,之后可以使用命令来切换模式
命令行模式-->插入模式:
i 在当前位置插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
插入模式-->命令行模式:
Esc 从插入模式切换到命令行模式
命令行模式-->底行模式:
:(冒号) 从命令行模式切换到底行模式
命令行模式快捷键:
dd 快速删除一行
yy 拷贝当前行
nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。
p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。
P 在当前行前粘贴
底行模式命令:
wq 保存退出
q! 强制退出并忽略所有更改
e! 放弃所有修改,并打开原来文件。
/text 查找text,按n健查找下一个,按N健查找前一个。
3. 通用文件或目录操作
复制文件或目录
cp(copy) 将源文件复制至目标文件,或将多个源文件复制至目标目录。
格式: cp [参数] 源目录或文件 目标目录或文件
参数:
-r 递归复制目录及其子目录内的所有内容
常用:
cp install.log install.log.bak 将install.log复制为install.log.bak文件
cp install.log aaa/ 将install.log文件复制到当前目录下的aaa目录下
cp install.log bbb/install.log.bak 将install.log文件复制到当前目录下的bbb目录下,改名为install.log.bak
cp aaa -r bbb/ 递归复制aaa目录及子目录的所有内容到bbb目录下
cp aaa -r bbb/ccc 递归复制aaa目录及子目录的所有内容到bbb目录下,改名为ccc
复制文件,如果后一个参数是目录,则复制文件到指定目录
复制文件,如果后一个参数是文件,则复制文件到指定路径,并改名
复制目录,如果后一个参数是已经存在的目录,则复制目录到指定目录下
复制目录,如果后一个参数是不存在的目录,则复制目录到指定路径下,并改名
移动文件或目录
mv(move) 将源文件重命名为目标文件,或将源文件移动至指定目录。
格式: mv 源目录或文件 目标目录或文件
常用:
mv install.log install.log.bak 将install.log重命名为install.log.bak
mv install.log aaa/ 将install.log文件移动到当前目录下的aaa目录下
mv install.log bbb/install.log.bak 将install.log文件移动到当前目录下的bbb目录下,改名为install.log.bak
mv aaa bbb/ 将aaa目录移动到bbb目录下
mv aaa bbb/ccc 将aaa目录移动到bbb目录下,重命名为ccc
移动文件,如果后一个参数是目录,则移动文件到指定目录
移动文件,如果后一个参数是文件,则移动文件到指定路径,并重命名
移动目录,如果后一个参数是已经存在的目录,则移动目录到指定目录下
移动目录,如果后一个参数是不存在的目录,则移动目录到指定路径下,并重命名
打包压缩和解压缩
tar 命令能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。
格式: tar [参数] <文件或目录列表>
参数:
-c: 创建一个新tar文件
-v: 显示运行过程的信息
-f: 指定文件名
-z: 调用gzip压缩命令进行压缩
-x: 解开tar文件
-C: 指定解压路径
常用:
tar –cvf aaa.tar ./* 将当前目录下的所有文件打包为aaa.tar
tar –zcvf aaa.tar.gz ./* 将当前目录下的所有文件打包压缩为aaa.tar.gz
tar –xvf aaa.tar 将aaa.tar提取到当前目录
tar -xvf aaa.tar.gz -C /usr/aaa 将aaa.tar.gz解压到/usr/aaa目录
4. 其他常用命令
重定向输出
> 重定向输出,覆盖原有内容
>> 重定向输出,又追加功能
常用:
ifconfig > ifconfig.txt 将ifconfig命令的结果输出到 ifconfig.txt文件中
ifconfig >> ifconfig.txt 将ifconfig命令的结果追加到 ifconfig.txt文件中
管道
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。
示例:
ls --help | more 分页查询帮助信息
ps –ef | grep java 查询名称中包含java的进程
其他
1. pwd 查看当前工作目录
2. ll -h 友好显示文件大小
3. wget 下载资料
.tar ./* 将当前目录下的所有文件打包为aaa.tar tar –zcvf aaa.tar.gz ./* 将当前目录下的所有文件打包压缩为aaa.tar.gz tar –xvf aaa.tar 将aaa.tar提取到当前目录 tar -xvf aaa.tar.gz -C /usr/aaa 将aaa.tar.gz解压到/usr/aaa目录
### 4. 其他常用命令
#### 重定向输出
重定向输出,覆盖原有内容
重定向输出,又追加功能
常用: ifconfig > ifconfig.txt 将ifconfig命令的结果输出到 ifconfig.txt文件中 ifconfig >> ifconfig.txt 将ifconfig命令的结果追加到 ifconfig.txt文件中
#### 管道
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。 示例: ls --help | more 分页查询帮助信息 ps –ef | grep java 查询名称中包含java的进程
#### 其他
pwd 查看当前工作目录ll -h 友好显示文件大小wget 下载资料