飞道的博客

Linux基本指令

382人阅读  评论(0)

一、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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场