目录
常用命令
pwd:查看当前目录
ls:查看当前目录文件
cd:切换路径
cd .. :返回上一级路径
cd ~ :返回家目录(家目录存在于/home/用户名)
cd ../.. :返回上多级路径
cd :回到上一次路径
mkdir:新建目录
touch:新建文件
cp:复制文件
cat:将文件内容显示到终端
rm:删除文件
rmdir:删除文件夹
clear:清除屏幕显示
echo:输出文本
man:帮助
命令文件存在于$PATH中, echo $PATH 找到命令存放的文件夹, 常用命令文件很多在 /bin 中
命令格式:命令 [选项] [参数]
举例:
ls
ls l (显示详细信息)
ls l /home
相对路径和绝对路径
/home/book 是绝对路径
相对路径一般以.和..来构成
1)
当前路径为/bin,然后./pwd就是执行了/bin/pwd
2)
当前路径为/home/book/100ask
然后cd ../Videos/就到达/home/book/Videos
cd ../..就到达/home
ls:列举文件
命令 [选项] [参数]
例:ls 选项
或:ls 选项 目录名
常用的选项:
l(long的缩写),显示目录下文件的更详细的信息(文件权限、文件最后修改时间、文件大小)
a(all的缩写),显示了隐藏文件
h(humanable的缩写),将文件大小以K(KB)、M(MB)、G(GB)来表示
mkdir:创建目录
命令 [选项] [参数]
例:1)mkdir 目录名
mkdir dir0 创建了dir0这个目录
2)mkdir p 父目录/子目录
mkdir p dir1/dir2
p(parents的缩写)
连续创建多级目录(父目录和子目录),如果父目录不存在,则需要加入p参数。
rmdir :删除目录
举例:
1)rmdir 目录名
注意:rmdir不能删除非空目录(非空目录:该目录下面有子目录或者文件)
touch:新建文件
touch 文件名
举例:
touch file1:当前目录新建文件file1
注意:同一名录无法创建同名的文件,linux的文件名是区分大小写的,如file1和File1是不同文件。
mv:修改文件名或者目录名,或者移动路径
mv 旧文件名 新文件名 == > 修改文件名
如:mv file1 filea将当前目录的文件file1改名为filea
mv 旧目录名 新目录名 == >修改目录名
如:mv dir1 dira将当前目录下的目录dir1改为dira
mv 文件名 目录名 == >移动路径
如:mv filea dira将当前目录下filea移动到dira子目录
如:mv filea ~ 将当前目录下filea移动家目录
如:mv ~/filea ..将家目录下的fila移动到上一个路径
cp:复制文件或者复制目录
1) cp 源文件名 目标文件名
举例:
cp File1 file2将当前目录下的文件File1拷贝成file2
2) cp 源文件名 目标目录名
举例:
cp file2 dira/将当前目录下的文件file2拷贝到dira子目录
2) cp 源目录名 目标目录名
举例:
cp r dira dirb复制dira目录下的所有内容到dirb
其中,r参数时递归复制
cp i file2 dira如果dira目录下面有同名的file2,加入i参数就会要求你确认是否覆盖同名的文件
注意:cp的常用参数有:i,r,f,d等
cat:查看文件
cat 文件名 :将文件名输出到终端
cat n 文件名:显示文件内容,并在文件前显示行号
gedit:编辑文件
rm(remove的缩写):删除文件(目录)
rm [选项] [文件名 | 目录名]
常用选项:
i(interactive(交互)的缩写),删除文件(目录)之前,要求你确认是否同意删除
r(recursive(递归)的缩写),递归删除指定目录下的子目录和文件
f(force(强制)的缩写),强制删除
举例:
rm File1 删除当前目录下的文件File1
rm i file2 删除文件file2,删除前要求你确认是否同意删除,其中y表明同意删除,n表示取消删除
rm r dira 删除目录dira
rm ir dirb 删除目录dirb,删除前要求你确认是否同意删除,其中y表明同意删除,n表示取消删除
注意:
1)删除文件(目录)前,确定该文件(目录)是否可以被删除。
2)rm的常用参数有:i,r,f等,在后面讲解了linux权限之后,我们会加深rm这个命令的讲解。
clear:刷新屏幕,保留历史命令操作记录
reset:重新初始化屏幕,清除历史命令操作记录
man:帮助命令
举例:
man man: 查看man手册的说明
man ls: 当没有指定使用那一页,默认使用第1页
man 1 ls : 使用第一页man说明
man 1 gcc: gcc是一个应用程序,在linux中一般使用gcc编译器来编译c/c++语言的程序
open/write/read/close等等都是系统调用
man 2 open 查看系统调用open的man手册说明
vim编辑器
配置vim编辑器
cd /etc/vim
cp vimrc ~/.vimrc
cd ~
gedit .vimrc
在.vimrc中加入如下内容:
"关闭兼容功能
set nocompatible
"显示行号
set number
"编辑时 backspace 键设置为2个空格
set backspace=2
"编辑时 tab 键设置为4个空格
set tabstop=4
"设置自动对齐为4个空格
set shiftwidth=4
"搜索时不区分大小写
set ignorecase
"搜索时高亮显示
set hlsearch
vi编辑器有三种模式
1)一般模式(光标移动、复制、粘贴、删除)
2)编辑模式(编辑文本)
3)命令行模式(查找和替换)
1.打开文件、新建文件、保存文件
vi 文件名
如果文件存在,输入结束后,:wq保存并退出文件
如果文件不存在,输入结束后,:wq就可以新建并保存文件
在编辑完成时,返回一般模式,
1)输入:w则保存文件,如果已经保存文件,输入:q则退出文件
2)直接输入:wq保存并退出
3)如果不想保存被修改的内容,则:q!强制退出。
2.进入编辑模式
i(在光标前开始插入文本)
a在光标后开始插入文本
o(在当前行之下新开一行,并到行首)
3.光标移动
在一般模式下,hjkl这四个按键就可以移动光标
h(左)
j(下)
k(上)
l(右)
快速的定位到某一行:
文件头、文件尾、指定某一行
ngg光标移至第n行的行首(n为数字),
如1gg就跳到第一行的行首,就是文件头
如2gg就跳到第二行的行首
G转至文件结尾
4.文本复制、粘贴、删除、撤销
yy 复制当前行(y:yank(复制))
nyy 复制当前行及其后的n1行(n是数字)
P 粘贴(p:paste)
dd 删除光标所在行(d:delete)
ndd 删除当前行及其后的n1行(n是数字)
u 来撤销上一步操作
x 删除光标所在位置的字符
注意:
yy/nyy/dd/ndd/x/u都是在一般模式。
5.查找和替换
查找:
/pattern 从光标开始处向文件尾搜索pattern,后按下n或N
注意:
n在同一个方向重复上一次搜索命令
N在反方向重复上一次搜索命令
n(N)来源于next
替换:
:%s/p1/p2/g将文件中所有的p1均用p2替换
:%s/p1/p2/gc替换时需要确认
(s:substitute替换
g:global全局
c:confirm确认)
常用指令
vi编辑器有三种模式
1)一般模式(光标移动、复制、粘贴、删除、撤销)
hjkl、ngg/G、0、$、fx
yy/nyy
p
dd/ndd、x
u
2)编辑模式(编辑文本)
i a o
3)命令行模式(查找和替换、保存退出文件)
/pattern、:%s/p1/p2/gc、:wq
全部指令
高级命令
find
目的:查找符合条件的文件
1)在那些目录中查找
2)查找的内容
格式: find 目录名 选项 查找条件
举例:
1)find /work/001_linux_basic/dira/ name “test1.txt”
说明:
a)/work/001_linux_basic/dira/指明了查找的路径
b)name表明以名字来查找文件
c)”test1.txt”,就指明查找名为test1.txt的文件
同理:
find /work/001_linux_basic/dira/ name “*.txt”
查找指定目录下面所以以.txt结尾的文件,其中*是通配符。
find /work/001_linux_basic name “dira”
查找指定目录下面是否存在dira这个目录,dira是目录名。
注意:
1)如果没有指定查找目录,则为当前目录。
find . name “*.txt” 其中.代表当前路径
find name “*.txt”
都是一样的功能
2)find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件
find /home mtime 2 查找/home目录下两天内有变动的文件
grep
目的:使用grep命令来查找文件中符合条件的字符串
格式:grep [选项] [查找模式] [文件名]
grep rn “字符串” 文件名
r(recursive):递归查找
n(number):显示目标位置的行号
w:全字匹配
字符串:要查找的字符串
文件名:要查找的目标文件,如果是*则表示查找当前目录下的所有文件和目录
举例:
grep n “abc” test1.txt 在test1.txt中查找字符串abc
grep rn “abc” * 在当前目录递归查找字符串abc
file
目的:识别文件类型
格式: file 文件名
举例:
file ~/.bashrc 为ASCII 编码的text类型
file ~/.vimrc 为UTF8 Unicode 编码的text类型
file ~/Pictures/* 如图形文件JPEG/PNG/BMP格式
file ~/100ask/ 为directory表明这是一个目录
file /bin/pwd 出现 ELF 64bit LSB executable,即为ELF格式的可执行文件
file /dev/* 出现character special(字符设备文件)、 block special(块设备文件)等
which和whereis
目的:查找命令或应用程序的所在位置
格式:which 命令名/应用程序名
gzip 和bzip2 :压缩解压单个文件
多个文件和目录使用tar
gzip的常用选项
l(list) 列出压缩文件的内容
k(keep) 在压缩或解压时,保留输入文件。
d(decompress) 将压缩文件进行解压缩
1)查看
gzip l 压缩文件名
比如:gzip l pwd.1.gz
2)解压
gzip kd 压缩文件名
比如:gzip kd pwd.1.gz
该压缩文件是以.gz结尾的单个文件
3)压缩
gzip k 源文件名
比如:gzip k mypwd.1
得到了一个.gz结尾的压缩文件
注意:
1)如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件,
并删除原有的文件,所以说,推荐使用gzip k 来压缩源文件。
2)相同的文件内容,如果文件名不同,压缩后的大小也不同。
3)gzip只能压缩单个文件,不能压缩目录。
bzip2来压缩单个文件
bzip2的常用选项
k(keep) 在压缩或解压时,保留输入文件。
d(decompress) 将压缩文件进行解压缩
1)压缩
bzip2 k 源文件名
比如:bzip2 k mypwd.1
得到一个.bz2后缀的压缩文件
2)解压
bzip2 kd 压缩文件名
bzip2 kd mypwd.1.bz2
注意:
1)如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件,
并删除原有的文件,所以说,推荐使用bzip2 k 来压缩源文件。
2)bzip2只能压缩单个文件,不能压缩目录。
单个文件的压缩使用gzip或bzip2,
压缩有两个参数:1)压缩时间 2)压缩比
一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。
mypwd.1源大小是1477字节,
gzip压缩后mypwd.1.gz是877字节,
bzip2压缩后mypwd.1.bz2是939字节。
myls.1源文件大小7664字节,
gzip压缩后myls.1.gz是3144字节,
bzip2压缩后myls.1.bz2是3070字节。
tar 压缩解压目录多个文件
c(create) 表示创建用来生成文件包
x:表示提取,从文件包中提取文件
t可以查看压缩的文件。
z使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
j使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
v(verbose)详细报告tar处理的信息
f(file)表示文件,后面接着一个文件名。
C <指定目录> 解压到指定目录
1.tar打包、gzip压缩
1)压缩
tar czvf 压缩文件名 目录名
如:tar czvf dira.tar.gz dira
注意:
tar czvf与tar czvf是一样的效果,所以说,后面统一取消。
2)查看
tar tvf 压缩文件名
如:tar tvf dira.tar.gz
3)解压
tar xzvf 压缩文件名
tar xzvf 压缩文件名 C 指定目录
如:tar xzvf dira.tar.gz 解压到当前目录
如:tar xzvf dira.tar.gz C /home/book 解压到/home/book
2.tar打包、bzip2压缩
1)压缩
tar cjvf 压缩文件名 目录名
如:tar cjvf dira.tar.bz2 dira
2)查看
tar tvf 压缩文件名
如:tar tvf dira.tar.bz2
3)解压
tar xjvf 压缩文件名
tar xjvf 压缩文件名 C 指定目录
如:tar xjvf dira.tar.bz2 解压到当前目录
如:tar xjvf dira.tar.bz2 C /home/book 解压到/home/book