文章目录
- ~表示home目录
- . 表示当前目录
- | 管道,前一个命令的输出通过管道当作后一个命令的输入
1.1 cd
命令格式:cd <路径>
意义:cd是单词change directory 的缩写;cd命令后面跟一个路径,可以是绝对路径也可以是相对路径。
示例:
写法 | 含义 |
---|---|
cd ~ | 进入个人的主目录 |
cd / | 切换到根目录 |
cd … | 返回上一级目录 |
cd …/… | 返回上两级目录 |
cd - | 返回上次所在的目录 |
cd /system/bin | 切换到/system/bin路径 |
1.2 rm
命令格式: rm <文件> 或 rm -r <文件夹>
意义:rm是remove 的缩写。rm可以直接对文件进行删除,若要删除目录或者文件夹,则需要rm -r用于删除文件或文件夹。
后面可以加下面这些参数:
- -d (directory) 删除可能仍有数据的目录 (只限超级用户)
- -f (force) 强制删除
- -i (nteractive 进行任何删除操作前必须先确认
- -r(recursive) 同时删除该目录下的所有目录层
- -v (verbose) 详细显示进行的步骤
示例:
写法 | 含义 |
---|---|
rm 123.txt | 删除123.txt文件 |
rm -rf aaa | 删除一个叫做aaa的文件夹同时删除其内容 |
rm -rf aaa bbb | 同时删除两个目录及它们的内容 |
平时使用,最好用的带参命令是rm -rf,但是千万不要做rm -rf /*这种操作
1.3 ls
命令格式:ls <参数> <路径>
意义:ls是list的缩写;ls命令后面可以跟一个路径或参数,表示列出路径或当前目录下的所有文件信息。
常用的参数如下:
- -a: 显示隐藏文件 以.开头的文件
- -p: 只给目录添加/
- -r: 倒着排序 reverse
- -S: 按照文件大小排序
- -F 查看目录中的文件
示例:
写法 | 含义 |
---|---|
ls / | 显示根目录下的所有文件和文件夹 |
ls -F | 查看目录中的文件 |
ls -l /data | 显示/data路径下文件和目录的详细资料 |
ls -a | 显示隐藏文件 |
ls [0-9] | 显示包含数字的文件名和目录名 |
1.4 mkdir
命令格式: mkdir 文件夹
意义:mkdir是make directory 的缩写。用于创建文件夹。创建文件夹前需保证当前用户对当前路径有修改的权限
参数 -p用于创建多级文件夹
示例:
写法 | 含义 |
---|---|
mkdir aaa | 创建一个叫做 ‘aaa’ 的目录’ |
mkdir aaa bbb | 同时创建两个目录 |
mkdir -p a/b | 创建一个包含b目录的a目录 |
1.5 cp
命令格式: cp <文件><目标文件>或者cp -r<文件夹><目标文件夹>
意义:cp是copy 的缩写。用于复制文件或文件夹。
写法 | 含义 |
---|---|
cp /data/logs /data/local/tmp/logs | 复制/data路径下的logs到/data/local/tmp路径下。 |
cp dir/* | 复制一个目录下的所有文件到当前工作目录 |
cp -a /tmp/dir1 | 复制一个目录到当前工作目录 |
cp 1.txt aaa | 复制当前路径下的1.txt到aaa下 |
1.6 cat
命令格式: cat <文件>
意义:cat是concatenate 的缩写。表示读取文件内容及拼接文件
写法 | 含义 |
---|---|
cat 123.txt | 读取当前路径下test.txt文件内容。 |
cat /a/b/c/123.txt | 读取/a/b/c/路径下的123.txt 文件 |
参数:
- -b 对非空输出行编号
- -n 对输出的所有行编号
1.7 tree
tree命令的中文意思为“树”,功能是以树形结构列出指定目录下的所有内容
linux中的tree命令默认并不会安装,需要自己安装,下面是安装命令
yum -y install tree
命令详解
- -a 显示所有文件和目录。
- -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
- -C 在文件和目录清单加上色彩,便于区分各种类型。
- -d 显示目录名称而非内容。
- -D 列出文件或目录的更改时间。
- -f 在每个文件或目录之前,显示完整的相对路径名称。
- -i 不以阶梯状列出文件或目录名称。。
- -n 不在文件和目录清单加上色彩。
- -s 列出文件或目录大小。
- -t 用文件和目录的更改时间排序,从最新开始排序。
- 还有好多,可以自己去查,以后遇到了再追加啊
1.8 pwd
pwd 显示当前工作路径
1.9 mv
命令格式:mv 源文件 目标文件
意义:主要用于文件或者目录的移动或者改动
命令参数:
- -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
- -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
- 有好多参数,自己可以去查一下,以后有拓展了在加
命令格式:
命令格式 | 结果 |
---|---|
mv 文件名 文件名 | 将源文件名改为目标文件名 |
mv 目录名 目录名 | 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
例子:
将文件 aaa 更名为 bbb :
mv aaa bbb
将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。
mv info/ logs
1.10 kill
命令格式:kill PID码
意义:结束当前进程
kill -l看看都有哪些信号可以发送给进程。
常用命令:
kill -15 pid
这条命令发信号让进程正常退出。
kill pid
这条命令和上面的命令是等价的,kill 命令默认发送信号 15 给目标进程。
使用信号 15 是安全的,而信号 9 则是处理异常进程的最后手段,请勿滥用。
1.11 touch
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
1.12 more
more命令类似与cat命令,却比cat命令强大,more会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),
命令格式:more [-dflpcsu] [-num] [+linenum | +/pattern] name1 name2 …
参数解释:
- -num 一次显示的行数 例如: more -10 file1.txt
- -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.]
- -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
- -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
- -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
- -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
- -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
- +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
- +num 从第 num 行开始显示
示例:
每次显示10行
more -10 123.txt
从第 10 行开始显示文档内容
more +20 file.txt
常用操作:
- Enter 向下n行,需要定义。默认为1行
- F 向下滚动一屏
- 空格键 向下滚动一屏
- B 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- V 调用vi编辑器
- !命令 调用Shell,并执行命令
- q 退出more
1.13 grep
命令格式: grep [OPTIONS] PATTERN [FILE…],如:grep -n ab 123.txt
意义:使用正则表达式搜索文本,并把匹 配的行打印出来。
常用参数:
- -n,显示行号
- -i, --ignore 忽略大小写
- -x, 整行匹配
- -w, --word 单词匹配
- -v, 显示没有被模式匹配到的行,匹配的行不显示
- -c, --count 得到匹配行数
grep有模式查找,
参数 | 含义 |
---|---|
^a | 行首,搜寻以a开头的行 |
b$ | 行尾,搜寻以b结尾的行 |
1.14 echo
命令格式:echo [选项] [输出内容]
echo命令我们经常使用的选项有两个,一个是-n,表示输出之后不换行。另外一个是-e,表示对于转义字符按对应的方式处理(若不加-e ,那么在输出时转义字符会按照普通字符进行处理,并不会达到自己想要达到的目的。)
\b 表示删除前面的空格
\n 表示换行
\t 表示水平制表符
\v 表示垂直制表符
\c \c后面的字符将不会输出,同一时候,输出完毕后也不会换行
\r 输出回车符(可是你会发现\r前面的字符没有了)
\a 表示输出一个警告声音
转义字符 | 含义 |
---|---|
\a | 表示输出一个警告声音 |
\b | 表示删除前面的空格 |
\c | \c后面的字符将不会输出,同一时候,输出完毕后也不会换行 |
\f | 换页符 |
\n | 表示换行 |
\t | 表示水平制表符 |
\v | 表示垂直制表符 |
\r | 输出回车符 |
echo的重定向
1.echo “内容”> 文件名
将想要的内容覆盖到对应的文件当中去
2.echo “内容”>> 文件名
将想要的内容追加到文件后,对文件之前的内容不修改,只进行增添,也叫追加重定向。
对于>和>>,我们还可以这样,tree >> a,kill-l >> a等等写法,总之就是将前面指令可以输出的内容,输入到a文件
1.15 chmod
命令格式:chmod +/-rwx 文件 | 目录
意义:‘+’和‘-’代表增加或者减少权限,后面的rwx是可供增减的三种权限,
- r,read是可读,
- w,write可写,
- x,excute可执行
但是平时使用中,最常用的命令格式还是chmod 777 文件 | 目录
chmod可以使用三个数字分别拥有者/组和其他用户的权限。
数字 | 含义 |
---|---|
4 | r |
2 | w |
1 | x |
这些数字相加所得数就是对应用户对文件拥有的权限,如chmod 777 文件 | 目录,就代表修改所有用户对目标文件的权限为可读可写可执行。
如果要修改一个目录下所有文件的权限,chmod后面就要加个参数-R。
1.16 ln
命令格式:ln -s 目标文件绝对路径 软连接文件名
意义:创建文件软链接,类似Windows快捷方式。
示例:
ln -s /home/aaa/Desktop/a/b/123.txt
在当前目录下创建/home/aaa/Desktop/a/b下的123.txt的软链接。
如果没有-s选项,则创建硬链接。
注意:在linux中,文件名和文件数据是分开保存的,我们通过文件名来访问文件数据,软链接就是指向文件名的快捷方式,也就是说我们删除了文件名,就不能访问文件数据,但是硬链接不一样,硬链接可以直接访问文件数据,也就是说我们即使删除了文件名我们也可以通过硬链接访问文件数据。
1.17 tar
tar命令只进行打包/解包操作,不进行压缩。
打包:
命令格式:tar -cvf 打包文件.tar 文件/路径
解包:
命令格式:tar -xvf 打包文件.tar
参数说明:
参数 | 含义 |
---|---|
c | 生成档案文件,创建打包文件 |
x | 解开档案文件 |
v | 列出归档解档的详细过程 |
f | 指定档案文件名称,后面一定是.tar文件,所以f必须放最后 |
1.18 gzip/bzip2
压缩/解压缩,压缩过后的文件一般以.gz或者.bz2为后缀。
tar命令加个-z参数可以自动调用gzip命令,所以一般压缩解压缩都是使用如下命令:
gz压缩
命令格式:tar -zcvf 打包文件.tar.gz 文件/路径
gz解压缩:
命令格式:tar -zcvf 打包文件.tar.gz
gz解压缩到目标路径:
命令格式:tar -zcvf 打包文件.tar,gz -C 目标路径
bz2压缩:
命令格式:tar -jcvf 打包文件.tar.bz2 文件/路径
bz2解压缩:
命令格式:tar -jcvf 打包文件.tar.bz2
1.19 apt
apt是Advanced Packging Tool,是Linux下一款安装包管理工具。
下载软件
命令格式:sudo apt-get install 软件包
卸载软件
命令格式:sudo apt-get remove 软件名
其他命令:
sudo apt-get -f install #修复安装
sudo apt-get dist-upgrade #升级系统
sudo apt-get upgrade #更新已安装的包
apt-get source package #下载该包的源代码
sudo apt-get build-dep package #安装相关的编译环境
sudo apt-get clean && sudo apt-get autoclean #清理无用的包