linux基础

linux常用命令

pwd cd ls du mkdir stat touch echo cat ln cp rm mv which / whereis / type

常用快捷键(xshell中)

Ctrl +l:清屏

Ctrl +c: 不执行这行命令

家目录:~:是在root目录下:pwd查看当前目录

cd-切换到上次命令

路径

.   当前目录

/  根目录

绝对路径:前后带/

相对路径:只有后带/,当前目录

文件后不加/

  • 结合通配符

    ?问号通配符可以匹配任何一个单个字符,列如·使用 ls file?.txt 将会列出所有以 file 开头后面跟一个任意字符和 .txt 后缀的文件。

*星号通配符可以匹配任何数量的字符

 别名:
 ​
 - .bashrc
 - alias my ='ls -alh'
 - source .bashrc 重新生效

命令

cat/more/less
  • cat - 连接并打印文件内容

  • more - 分页显示文件内容

  • less - 更好的分页文件查看器,允许前后翻页

head/tail
  • head - 打印文件开头的几行

  • tail - 打印文件结尾的几行

wc
  • wc - 计算文件的行数、单词数和字节数

  • wc -m 字符数

ls --help 查看帮助

ls :h d a l

  • 以长格式显示信息

  • a:查看全部文件,包括隐藏的

  • -d:查看某个具体文件的信息(需要指定参数)

  • -h:以常规单位显示文件大小(如:K、M等)

  • -i:显示inode号

du
  • 统计目录及文件空间占用情况-du 统计指定目录(或文件)所占用磁盘空间的大小

  • 选项

  • -a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录

  • -h以更人性化的方式(mb/gb) 默认以KB计数,但不显示单位)显示出统计结果 -S只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小

  • ●统计出var/Iog目录所占用空间的大小 du -sh /var/log/

mkdir

mkdir -p aaa/bbb/ccc

         **stat:查看文件时间**

  1. 最近访问时间()

    • 表示文件最后一次被访问的时间,即文件被读取或执行的时间。

  2. 最近更改时间()

    • 表示文件最后一次内容被修改的时间。任何导致文件内容变化的操作,如编辑文件、向文件中追加内容等,都会更新这个时间戳。

  3. 最近改动时间()

    • 表示文件的元数据最后一次被改变的时间。这不仅仅包括文件内容的修改,还包括文件权限、所有权、属性等的变更。简单地说,任何通过chmodchowntouch(不写入数据)等命令对文件进行的操作都会更新这个时间戳。

touch
  1. 更新文件时间

  2. 创建文件

  • echo:显示打印

  • echo 'hello' >>file

    一个>覆盖>>追加

    echo -e

    -e 选项允许 echo 命令解释转义序列,这使得输出文本时可以包含特殊格式,比如换行符 \n、制表符 \t 等。

ln 链接

       软链接

        硬链接

在Linux系统中,链接(Link)是一种允许多个名称指向同一文件或目录的机制。主要有两种类型的链接:硬链接(Hard Link)和软链接(也称为符号链接,Symbolic Link)。

### 硬链接(Hard Link)
硬链接是对文件inode(索引节点)的直接引用。这意味着硬链接和原始文件实际上是同一个文件,它们共享同一个inode。对硬链接的修改实际上是对原始文件的修改,反之亦然。

特点
- 不能跨文件系统创建硬链接。
- 不能对目录创建硬链接,除非使用特定的挂载选项。
- 删除原始文件不会影响硬链接。

创建硬链接的命令:

 

ln /path/to/originalfile /path/to/linkname

例如:

ln /home/user/docs/report.txt /home/user/docs/report_link.txt

这将在`/home/user/docs`目录下创建一个名为`report_link.txt`的硬链接,它与`report.txt`文件是同一个文件。

软链接(Symbolic Link)
软链接是指向另一个文件或目录的快捷方式,类似于Windows系统中的快捷方式。软链接包含的是它所指向文件或目录的路径。

特点:
- 可以跨文件系统创建软链接。
- 可以对目录和文件创建软链接。
- 删除原始文件会导致软链接失效(变成死链接,dangling link)。

创建软链接的命令:

ln -s /path/to/originalfile /path/to/symlinkname
例如:
ln -s /home/user/docs/report.txt /home/user/docs/report_symlink.txt
这将在`/home/user/docs`目录下创建一个名为`report_symlink.txt`的软链接,它指向`report.txt`文件。

举例说明

假设我们有一个文件`/home/user/docs/report.txt`,我们想要在`/home/user`目录下创建一个硬链接和软链接:

1. 创建硬链接:
   
   ln /home/user/docs/report.txt /home/user/report_link.txt
   
   现在/home/user/report_link.txt是/home/user/docs/report.txt的硬链接。对任何一个文件的修改都会反映在另一个文件上。

2. 创建软链接:
 
   ln -s /home/user/docs/report.txt /home/user/report_symlink.txt

   现在`/home/user/report_symlink.txt`是`/home/user/docs/report.txt`的软链接。它就像一个指向原始文件的指针。如果移动或删除了`/home/user/docs/report.txt`,软链接将失效。

 注意事项
- 硬链接因为直接指向inode,所以它们实际上是同一个文件的不同名称。而软链接则是独立的文件,只是它的内容是指向另一个文件的路径。
- 硬链接在文件系统设计上有一些限制,比如不能链接到目录,也不能跨文件系统链接。
- 软链接提供了更大的灵活性,但需要更多的磁盘空间来存储链接路径,并且在链接目标不存在时会导致链接失效。

cp

常用(备份)

cp 文件名.bak

f:强制

r:递归

备份
  1. 使用 cp 命令进行文件备份

     cp /path/to/source/file.txt /path/to/backup/

    这个命令将 file.txt 文件复制到 /path/to/backup/ 目录中,作为备份。

  2. 使用 cp 命令进行目录备份(不包括子目录):

     cp -R /path/to/source/directory /path/to/backup/

    这个命令将 directory 目录及其内容复制到 /path/to/backup/ 目录中,-R 选项表示递归复制。

  3. 使用 tar 命令创建压缩备份

     tar -czvf backup.tar.gz /path/to/source/

    这个命令将 /path/to/source/ 目录及其内容打包并压缩成一个名为 backup.tar.gz 的文件。-c 表示创建归档文件,-z 表示gzip压缩,-v 表示在标准输出显示进度,-f 指定归档文件名。

  4. 使用 rsync 命令进行备份

     rsync -av /path/to/source/ /path/to/backup/

    这个命令使用 rsync 同步 /path/to/source/ 目录到 /path/to/backup/ 目录。-a 选项表示归档模式,-v 表示详细模式。

  5. 使用 rsync 命令进行增量备份

     rsync -av --link-dest=/path/to/previous/backup /path/to/source/ /path/to/incremental/backup/

    这个命令创建一个增量备份,--link-dest 选项指定了上一次备份的位置,rsync 将会尝试使用硬链接来节省空间。

  6. 使用 dd 命令进行完整磁盘备份(慎用,需要 root 权限):

     dd if=/dev/sda of=/path/to/backup/sda_backup.img bs=4M

    这个命令将整个磁盘 /dev/sda 备份到 /path/to/backup/sda_backup.img 文件中。if 表示输入文件,of 表示输出文件,bs 表示块大小。

rm

i:提示

常用-rf  (递归强制)

mv移动,剪切,改名
  1. 移动文件

     mv /path/to/source/file.txt /path/to/destination/

    这个命令将 file.txt 文件从 /path/to/source/ 目录移动到 /path/to/destination/ 目录。

  2. 剪切目录

     mv /path/to/source/directory /path/to/destination/

    这个命令将 source 目录及其所有内容剪切并移动到 /path/to/destination/ 目录。

  3. 重命名文件

     mv /path/to/source/file.txt /path/to/source/newfile.txt

    这个命令将 /path/to/source/file.txt 文件重命名为 /path/to/source/newfile.tx

which/whereis/

`which` 和 `whereis` 都是Linux系统中用于定位文件的命令,但它们的功能和使用场景有所不同。

### which命令
`which` 命令主要用于查找用户试图执行的命令的完整路径。它实际上会搜索环境变量 `$PATH` 中列出的目录,并返回第一个找到的匹配文件的路径。

语法:

which [command]
 

示例:
which ls
如果系统中存在 `ls` 命令,此命令将返回 `ls` 可执行文件的路径,例如 `/bin/ls`。

### whereis命令
`whereis` 命令用于定位二进制、源和手册页文件的位置。它会在特定目录(如 `/bin`, `/usr/bin`, `/usr/local/bin` 等)中搜索这些文件。

语法:
whereis [options] [basename]

其中 `[options]` 可以是:
- `-b` 只查找二进制文件。
- `-s` 只查找源文件。
- `-m` 只查找手册页。

示例:

whereis java

这将返回有关 `java` 命令的二进制、源代码和手册页的位置信息。

### 举例说明

假设我们要查找 `cp` 命令的相关文件:

1. 使用which:

   which cp

   这将返回 `cp` 命令的路径,例如 `/bin/cp`。

2. 使用whereis查找二进制:
  
   whereis -b cp

   这将返回 `cp` 二进制文件的位置,通常与 `which` 命令返回的相同。

3. 使用whereis查找源代码:

   whereis -s cp

   如果系统安装了 `cp` 命令的源代码包,这将返回源代码的位置。

4. 使用whereis查找手册页:
   
   whereis -m cp

   这将返回 `cp` 命令的手册页位置,通常是 `man` 页所在目录的路径。

### 区别总结

- `which` 主要用于快速查找命令的可执行文件路径。
- `whereis` 可以查找二进制、源代码和手册页的位置,提供更全面的信息。
- `which` 命令简单快捷,通常用于命令行中确定命令的位置。
- `whereis` 命令功能更丰富,但输出信息可能包含多个路径,需要用户进一步判断。

了解这两个命令的区别可以帮助您更有效地在Linux系统中查找和管理文件。

find和grep

find 命令

  1. 用途find 命令用于在文件系统中搜索文件和目录。它可以基于不同的标准(如文件名、大小、权限、类型、所有者、创建日期等)来查找文件。

  2. 基本语法

    find [搜索路径] [搜索条件]

  3. 示例

    • 查找当前目录及其子目录下所有名为example.txt的文件:

      find . -name example.txt

    • 查找当前目录及其子目录下所有用户具有写权限的文件:

      find . -perm -w

grep 命令

  1. 用途grep 命令用于搜索文本内容,它可以根据指定的模式搜索文件,并显示匹配行。grep 是全局搜索正则表达式并打印出来(Global Regular Expression Print)的缩写。

  2. 基本语法

    grep [选项] 模式 [文件...]

  3. 示例

    • 在文件example.txt中搜索包含 "hello" 的行:

       grep "hello" example.txt     在当前目录及其子目录下的所有.txt

      文件中搜索 "hello"

       grep -r "hello" *.txt

区别

  • find 主要用于基于文件名、大小、权限等文件属性搜索文件,而 grep 用于基于文本内容搜索文件。

  • find 可以在文件系统中递归搜索,而 grep 通常用于读取文件内容并搜索匹配的文本行。

  • find 可以执行复杂的搜索,包括使用逻辑运算符(如 -o 表示“或”)组合多个搜索条件。

  • grep 支持正则表达式,使其在文本搜索方面非常灵活。

组合使用

findgrep 可以组合使用,以实现更强大的搜索功能。例如,你可以使用 find 命令找到文件,然后对这些文件使用 grep 来搜索特定的文本内容:

 find . -name "*.txt" -exec grep "hello" {} +

这个命令会查找所有以 .txt 结尾的文件,并在这些文件中搜索包含 "hello" 的行。

这两个命令是 Linux 用户的强大工具,可以帮助你高效地处理和搜索大量数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值