常用命令
注意:命令提示符显示的含义是当前登陆用户用户名称是test,当前所在的目录是home。
cd
进入某个文件夹下
cd data/data
进入data/data这个目录下
返回上级目录
cd ..
返回之前的目录
cd -
直接返回到home文件夹下
cd
切换到当前目录
cd .
切换到上上级目录
cd ../..
ll
使用ll命令就可以查看当前目录下的所有文件以及文件夹
注意图中每个文件夹或文件开头有一系列的参数
如drwx - - - - - -
d表示这是一个文件夹,如果是文件则以-开头。
r表示该文件夹可读,占4bit
w表示该文件夹可写,占2bit
x表示该文件夹可执行,占1bit
第一个三占位符表示当前用户的rwx权限,第二个三占位符表示用户组权限,第三个三占位符表示其他人权限。
怎么样设置用户权限?
如一个用户是644,则其权限,用户组权限,其他人权限为
drw- r - - r - -
-rw- r - - r - -
ls
ls:列出目录内容
cd切换路径,然后在使用ls来查看目录内容
ls 目录名
如:ls /home,则指定显示/home的内容
如:ls ~ ,则指定显示/home/book的内容
ls 选项或 ls 选项 目录名
常用的选项:
-l(long的缩写),显示目录下文件的更详细的信息(文件权限、文件最后修改时间、文件大小)
-a(all的缩写),显示了隐藏文件
-h(human-able的缩写),将文件大小以K(KB)、M(MB)、G(GB)来表示
目录操作
mkdir:创建目录
mkdir 目录名
mkdir -p 父目录/子目录,连续创建多级目录(父目录和子目录),如果父目录不存在,则需要加入-p参数。
rmdir :删除目录
注意:rmdir不能删除非空目录(非空目录:该目录下面有子目录或者文件)
pwd:显示当前所在目录
文件操作
touch:新建文件
touch 文件名
注意:
- 同一目录无法创建同名的文件
- linux的文件名是区分大小写的,如file1和File1是不同文件。
mv:修改文件(目录)名、移动路径
mv 旧文件名 新文件名 ====>修改文件名
mv 旧目录名 新目录名 ====>修改目录名
mv 文件名 目录名 ====>移动路径
cp:复制文件(目录)
cp 源文件名 目标文件名
cp File1 file2将当前目录下的文件File1拷贝成file2
cp 源文件名 目标目录名
cp file2 dira/将当前目录下的文件file2拷贝到dira子目录
cp 源目录名 目标目录名
cp -r dira dirb复制dira目录下的所有内容到dirb,其中,-r参数时递归复制。
cp -i file2 dira如果dira目录下面有同名的file2,加入-i参数就会,要求你确认是否覆盖同名的文件。
rm:删除文件(目录)
rm [选项] [文件名 | 目录名]
常用选项:
-i,删除文件(目录)之前,要求你确认是否同意删除
-r,递归删除指定目录下的子目录和文件
-f,强制删除
举例:
rm File1 删除当前目录下的文件File1
rm -i file2 删除文件file2,删除前要求你确认是否同意删除,中y表明同意删除,n表示取消删除
rm -rf dira 删除目录dira
rm -r dira
rm -ir dirb 删除目录dirb,删除前要求你确认是否同意删除,其中y表明同意删除,n表示取消删除
文件的查看和编辑
cat 查看文件内容
cat 文件名
举例:
cat file1 将file1的内容打印到标准输出中,默认标准标准输出指向终端
cat file1 file2 将file1和file2的内容串联并依次全部打印到标准输出中
cat -n file1 显示内容并在内容前显示行号。
more 文件名
可以分页查看文件
tail -n 10 文件名
查看某个文件的前十行
清除屏幕
clear:刷新屏幕,保留历史命令操作记录
说明:此命令本质上只是让终端向后翻一页,当向上滚动鼠标时,还是可以看到之前命令的操作记录
reset:重新初始化屏幕,清除历史命令操作记录
帮助
man
举例:
man man 查看man手册的说明
man ls 当没有指定使用那一页,默认使用第1页
man 1 ls
man 1 gcc gcc是一个应用程序,在linux中一般使用gcc编译器来编译c/c++语言的程序
man 2 open 查看系统调用open的man手册说明
info:info ls
–help:ls --help
vi编辑器
打开文件
vi 文件名
vi 文件名 + 行号
退出/保存文件
按esc退出编辑模式
:w 保存文件
:wq 保存文件并退出vi
:q!强制退出vi,即使该文件被修改,也不保存该文件
进入编辑模式
i在光标前开始插入文本
a在光标后开始插入文本
o在当前行之下新开一行,并到行首
O在当前行之上新开一行
光标移动
多行间切换
Ctrl +f向前滚动一整屏
Ctrl +b向后滚动一整屏
gg转至文件开头
G转至文件结尾
ngg/nG光标移至第n行的行首(n为数字)
:n光标移至第n行的行首(n为数字)
n+光标向下移动n行(n为数字)
n-光标向上移动n行(n为数字)
j/nj光标向下移动1行/n行(n为数字)
k/nk光标向上移动1行/n行(n为数字)
单行列切换
0(数字零)光标移至当前行行首
$光标移至当前行行末
h/nh光标向左移动1列/n列(n为数字)
k/nk光标向右移动1列/n列(n为数字)
w光标移动到下一个字的开头
b光标移动到上一个字的开头
fx搜索当前行中下一个出现字母x的地方
Fx搜索当前行中上一个出现字母x的地方
文本复制&粘贴
yy复制当前行
nyy复制当前行及其后的n-1行
使用P键粘贴
如复制当前行,先用yy复制当前行,切换到目的行的上一行后,用p来粘贴所复制的行。
如剪切当前行,先用dd复制当前行,切换到目的行的上一行后,用p来粘贴所剪切的行。
文本删除
x删除光标所在位置的字符
X删除光标前的一个字符
nx删除光标所在位置和光标后的n-1个字符
nX删除光标前的n个字符
dw从光标处删至当前词尾
db从光标处删至当前词首
d0从光标处删至行首
d$/D 从光标处删至行尾
dd 删除光标所在行
ndd 删除当前行及其后的n-1行
撤销
按u键来撤销上一步操作
查找&替换
查找
/pattern 从光标开始处向文件尾搜索pattern,在/pattern之前先跳到第一行则进行全文件搜索,后按下n或N
?pattern 从光标开始处向文件首部搜索pattern ,后按下n或N
替换
😒/p1/p2/g将当前行中所有的p1均用p2替换,😒/p1/p2/gc替换时需要确认
:n1,n2s/p1/p2/g将n1至n2行中所有的p1均用p2替换,:n1,n2s/p1/p2/gc替换时需要确认
:%s/p1/p2/g将文件中所有的p1均用p2替换,:%s/p1/p2/gc替换时需要确认
注:
n在同一个方向重复上一次搜索命令
N在反方向重复上一次搜索命令
搜索文件/字段
搜索某个文件
locate [文件名]
在整个文件夹下搜索某个字段
find -type f -name “*.java” | xargs grep “Log.println_native”
.java是指明文件类型
Log.println_native搜索的字段
修改文件权限
chmod 755 <文件名>