linux指令

[toc]

Linux 命令

名字语法用法全称或备注
.当前目录
..上级目录
~用户主目录普通用户的主目录为/home;
超级用户的主目录为/root
-前一个工作目录
/表示根目录
cdcd [相对路径或绝对路径]切换到目标工作目录change directory
pwdpwd查看或打印当前目录print working directory
typetype [命令名]用来显示指定命令类型
lsls显示当前目录下的文件
llll显示当前目录下文件详细信息ls -l –color=auto
ll -all -a显示当前目录下文件及隐藏文件详细信息
mkdirmkdir -p a/b/c/d/e/f 会自动创建文件父目录
mkdir -p lucky/{1234}ls 一次可以创建多个子目录
创建文件目录make directory
rmrm -rf [目录名]删除文件夹,强制删除remove
rmdirrmdir [目录名]删除文件目录,要求该文件夹是空文件夹remove directory
cpcp [选项] 源路径 存放路径
cp 源路径 存放路径
拷贝文件到文件夹,复制copy
*shiren*所有以’shiren’开头的文件夹
mvmv 源路径 存放路径1、移动文件到文件夹,剪切
2、修改文件名字
move
touchtouch 文件名如果没有该文件,则创建新文件;如果有该文件,则修改该文件的三个时间
stat文件属性state
catcat 文件名正序查看文件内容
tactac 文件名倒序查看文件内容
moremore 文件名分页查看文件内容敲回车,一行行显示后续内容;敲 ‘b’ 返回上一行;敲空格,一页页显示后续内容;敲 ‘h’ 显示帮助,更多指令
lessless 文件名与more功能基本一样,区别是less的操作命令更多
headhead -10 文件名查看文件前10行
tailtail -10 文件名
tail -f 文件名
tail -F文件名
查看文件后10行
监控文件变化,按Inode查找
监控文件变化,按文件名查找
| 竖杠head -8 文件名 | tail -1‘|’ 将前面查询结果传递给后面,只查询第8行
findfind / -name 文件名在 / 内查找叫[文件名]的文件
echo
lnln -s 目标文件名 链接文件名 |创建软链接,类似指针
ln 目标文件名 链接文件名 |创建硬链接,类似取别名
创建文件链接
ip addrip addrip查询

终端相关

  • 快捷键 Ctrl+Alt+T:桌面打开终端
  • exit 或 快捷键 Ctrl+D:结束终端会话

时间相关

  • date:显示当前时间和日期
  • cal:默认显示当前月份的日历

磁盘相关

  • df:查看磁盘的当前可用空间
  • free:查看内存容量

文件相关

  • pwd:输出当前的工作目录名称,【print working directory】
  • ls:列出目录内容
  • cd:修改目录

tips:

焦点跟随鼠标 $ 代表普通用户; # 代表超级用户

linux命令 ll信息详解

参考文章

image-20220106143643107

第一列:文件类型

‘-’ 普通文件

’d’ 文件夹、目录

’l’ 链接文件,类似于windows的快捷方式

‘p’ 管理文件

‘b’ 块设备文件

‘c’ 字符设备文件

’s’ 套接字文件

后列:文件属性

r(Read,读取权限):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。 w(Write,写入权限):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。 x(execute,执行权限):对文件而言,具有执行文件的权限;对目录来说,该用户具有进入目录的权限。 另外,这里还有2个很特殊的属性,平时不怎么常见,这里也顺带解释一下:

s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。 t或T(Sticky):/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。 综合起来可得,对于back_init文件,其创建者/所有者具有可读可写可执行的权限,其创建者/所有者所在的组的其他用户具有可读可写可执行的权限,其他组的其他用户则具有可读可执行但不可写的权限。

type详解

参考文章

一般情况下,type命令被用于判断另外一个命令是否是内置命令,但是它实际上有更多的用法。

  1. 判断一个名字当前是否是alias、keyword、function、builtin、file或者什么都不是:

    type ls 的输出是 ls 是 ’ls –color=auto’ 的别名

    type if 的输出是 if 是 shell 关键字

    type type 的输出是 type 是 shell 内嵌

    type frydsh 的输出是 bash: type: frydsh: 未找到

  2. 判断一个名字当前是否是alias、keyword、function、builtin、file或者什么都不是的另一种方法(适用于脚本编程):

    type -t ls 的输出是 alias

    type -t if 的输出是 keyword

    type -t type 的输出是 builtin

    type -t gedit 的输出是 file

    type -t frydsh 没有输出

  3. 显示一个名字的所有可能:

    type -a kill 的输出是 kill 是 shell 内嵌 和 kill 是 /bin/kill

    type -at kill 的输出是 builtin 和 file

  4. 查看一个命令的执行路径(如果它是外部命令的话):

    type -p gedit 的输出是 /usr/bin/gedit

    type -p kill 没有输出(因为kill是内置命令)

  5. 强制搜索外部命令:

    type -P kill 的输出是 /bin/kill

cp命令相关选项

参考文章

cp命令的各选项含义如下:

- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

- d 拷贝时保留链接。

- f 删除已经存在的目标文件而不提示。

- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

- l 不作拷贝,只是链接文件。

需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。

例子: Cp -i file1 file2 (将文档 file1 复制成 file2 . –i为提示确认。)

cp file1 dir1 将文档 file1 复制到目录 dir1 下,文件名仍为 file1.

cp /tmp/file1 . 将目录 /tmp 下的文档 file1复制到现行目录下,档名仍为 file1.

cp /tmp/file1 file2 将目录 /tmp 下的文档 file1现行目录下,档名为file2

cp -r dir1 dir2 (recursive copy) 复制整个目录.若目录 dir2 不存在,则将目录dir1,及其所有文档和子目录,复制到目录 dir2 下,新目录名称为dir1.若目录dir2不存在,则将dir1,及其所有文档和子目录,复制为目录 dir2.

stat 文件属性详解

File:文件名

Size:大小

Blocks:块

IO Block:分配(一般为 4k=4096 )

Device:存放在硬盘区位置

Inode:文件绝对位置

Links:静态硬连接数量

Access:文件权限

Uid:所属用户

Gid:所属组

Access:访问文件时间

Modify:文件内容发生变化时间

Change:文件权限改变时间

ln 创建文件详解

image-20220107192816485

ln -s 目标文件名 链接文件名 |创建软链接,形式是 ’l’ 链接,链接文件 Inode 属性不同,类似于指针
ln 目标文件名 链接文件名 |创建硬链接,形式是 ‘-’ 文件,链接文件 Inode 属性相同,类似于别名

VI 和 VIM 编辑器

image-20220107200548033