一、Linux目录结构
- 绝对路径和相对路径
二、Linux基本指令
2.1对文件目录操作的指令
2.1.1、cd 指令
1)语法:cd 目录名
2)功能:改变工作目录,将当前工作目录改变到指定的目录下
3)举例:
cd … | 返回上级目录 |
---|---|
cd ~ | 进入用户目录 |
cd - | 返回最近访问目录 |
2.1.2、ls 指令
1)语法:ls [选项] [目录或文件]
2)功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
3)常用选项:
-a | 列出目录下的所有文件,包括以 . 开头的隐含文件 |
---|---|
-l | 列出文件的详细信息(ls -l可缩写为ll) |
-R | 列出所有子目录下的文件。(递归) |
2.1.3、pwd指令
1)语法:pwd
2)功能:显示用户当前所在的目录,常用于复制路径
2.1.4、touch指令
1)语法: touch [选项]… 文件…
2)功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
3)举例:
touch test.txt |
---|
2.1.5、mkdir指令
1)语法:mkdir [选项] dirname…
2)功能:在当前目录下创建一个名为 “dirname”的目录(即创建一个文件夹)
3)常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录
举例:
有多级目录就要使用**-p**参数,如果以下例子没有test目录且不加-p就会报错
mkdir –p test/test1 : | 递归建立多个目录 |
---|
2.1.6、 rm 指令
1)语法:rm [-f-i-r-v] [dirName/dir]
2)功能:删除文件或目录
3)常用选项:(常用的是 rm -rf)
-f | 即使文件属性为只读(即写保护),亦直接删除 |
---|---|
-r | 删除目录及其下所有文件 |
4)举例:
rm test.txt |
---|
注意:
- 要确保删除的路径是正确的,不要使用 rm /
- 常用:rm -rf 路径1 路径2
- 可以使用*通配符来匹配任意多个字符,类似数据库的%模糊查询
2.1.7、cp指令
1) 语法:cp [选项] 源文件或目录 目标文件或目录
2)功能: 复制文件或目录
3)说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的
目的地并非一个已存在的目录,则会出现错误信息
4)常用:
cp -r源目录 目标目录 | 如果目录存在,将源目录复制到目标目录下 ,如果不存在,以复制的方式创建出来 |
---|---|
cp 源文件 目标文件 |
2.1.8、 mv指令
1)语法:
mv 源文件 目标文件
mv 源文件 目标目录(目录已存在,移动到目录下)
mv 源目录 目标目录
2)功能:移动文件或目录
**注意:**文件重命名也是移动文件
2.1.9、man指令
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
1)语法: man [选项] 命令
2)举例:(使用j和k来进行上下移动,按q为退出)
man ls | 会进入文档阅读模式 |
---|
2.2 对文件内容的操作
2.2.1cat指令
1)语法:cat 文件路径(绝对路径/相对路径都行)
2)功能: 查看目标文件的所有内容,不过文件太大的时候会卡住,要谨慎使用
3)常用选项:
-n 对输出的所有行编号
4)举例:
cat test.txt |
---|
2.2.2 less 指令
1)语法:
less [参数] 文件 (一屏一屏显示文件内容(进入文档阅读模式))
2)功能:
查看文件内容. 不会立刻把所有文件内容加载到内存中. 也能进行查找.
3)选项:(在文档阅读模式下的操作)
j k 或者 方向键 | 向上向下滚动屏幕. |
---|---|
n | 重复前一个搜索(与 / 或 ? 有关)—>(n定位到下一个匹配的字符串位置,shift+n就是上一个) |
/字符串 | 向下搜索“字符串”的功能 |
q | 退出 |
2.2.3 head指令
1)语法:
head [参数]… [文件]…
2)功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
3)选项:
head -n<行数> 文件名 | 表示当前路径下,该文件输出从第一行到指定行数的内容 |
---|
2.2.4 tail指令—(反过来取)
1)语法:
tail [必要参数] [选择参数] [文件]
2)功能:
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
man ls |
---|
3)常用选项:
tail -n<行数> 文件名 | 表示当前路径下,该文件输出从最后一行往上到指定行数的内容 |
---|---|
tail -f 文件名 | 循环读取(即文件有追加内容,就会循环打印出来 ) |
4)关于管道
在 Linux 指令中可以使用 | 作为管道标记.意思是将前一个指令标准输出的内容, 作为第二个指令的标准输入内容.
举例:
-
有一个文件共有100行内容,请取出第50行内容
head -n50 test | tail -n1 -
有1-20共20个数字,取出11-15
head -n15 test.txt | tail -n5 ----->相当于先从头取前15个,再从取出来的那段中反过来取5个
tail -n10 test.txt | head -n5----->相当于先从末尾反过来取10个,再从取出的那段中从头取5个
2.2.5重定向
可以通过‘>’这样的符号把本来要输出到标准输出上的内容写到特定文件中. 这样的操作称为 “重定向”.
1)标准输入重定向
cat < test.txt |
---|
2)标准输出重定向
cat test.txt > test2.txt |
---|
3)标准错误重定向
尝试删除一个不存在的文件
rm aaa > test.txt
输出结果, 这个提示并没有被重定向到 test.txt 文件中.
rm: cannot remove ‘aaa’: No such file or directory
正确做法
rm aaa 2> test.txt |
---|
**注意:**在 Java 中, 分别对应到 System.in , System.out , System.err
2.2.6 date 命令
1)date 指定格式显示时间(默认为美国时间,需手动配置为中国时间):
date +%Y:%m:%d |
---|
2)
- %H : 小时(00…23)
- %M : 分钟(00…59)
- %S : 秒(00…61)
- %X : 相当于 %H:%M:%S
- %d : 日 (01…31)
- %m : 月份 (01…12)
- %Y : 完整年份 (0000…9999)
- %F : 相当于 %Y-%m-%d
3)时间戳
-
时间->时间戳:date +%s
-
时间戳->时间:date -d@1508749502
-
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
-
文本 编辑器
-
使用tab键自动补全
1)多个匹配:双击tab键,显示匹配的多个文件/目录名
2)一个匹配:单击tab键自动补全
转载:https://blog.csdn.net/qq_45277758/article/details/116570889