Linux基础(1)

  • apt-get install kali-root-login

  • 在个人版linux中 1-2为图形化窗口 , 3-7 为命令行窗口(一般)

Linux 常用命令

mkdir(创建目录)

  • mkdir [选项] [目录名]
  • 参数 -p 用于创建多级目录 , 如目录不存在将会自动新建 【mkdir -p ab/cd/ef】
  • 可用逗号分隔创建多个目录 -- [mkdir a b]

ls (显示指定工作目录下的内容)

  • ls [选项] [目录]
  • -a 显示所有文件与目录(包括隐藏)
  • -l 详细列出
  • -h 列出格式化的文件大小 (相当于ll)

pwd(显示工作目录)

  • 以绝对路径的方式显示当前的工作目录

cd(切换当前的工作路径)

  • . 当前路径
  • .. 上一级路径
  • ~ 用户的家路径
  • -用于回到上一个路径

touch(创建文件)

  • touch [选项] [文件名]

cp (复制文件)

  • cp 命令主要用于复制文件或目录。
  • 用法:cp [选项] [源文件] [目录]
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。(递归)
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。(保持默认属性)

mv(重定向和文件改名)

  • mv 命令用来为文件或目录改名、或将文件或目录移入其它位置。
  • 用法:mv [选项] [源文件/源目录] [目录]
  • -f : 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。(直接覆盖不询问)
  • -n : 不要覆盖任何已存在的文件或目录。(不覆盖已存在的文件)
  • mv的另一种用法:
  • mv 命令的另一种用法是将文件剪切。
  • mv 路径/文件名 路径、文件名
  • mv 1.txt /root
  • mv 2.txt /root/3.txt
  • mv /root/2.txt /root/1/1.txt

rm(删除)

  • rm 命令用于删除文件或者目录。
  • 用法:rm [选项] [文件\目录]
  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。
  • 注意:rm -rf 是一条危险的命令,代表递归删除某文件,如 rm -rf / 是递归删除根目录下的所有目录和文件,该命令不会询问,一旦执行系统将崩溃。

Linux 的命令总结

Linux 的命令格式

linux 命令的格式表现为:命令 + 选项 + 对象

具体说明:

COMMAND: 表示命令的名称, 如 ls 。


options:定义命令的执行特性,可以有长短两种选项:

长选项: 用 -- 引导,后面跟完整的单词,如 --help

短选项: 用 - 引导,后面跟单个的字符, 如 -a

多个短选项可以组合使用,例如: -h -l -a == -hla, 但是长选项不能组合使用,如 --help 后面就不能再跟另外一个单词了。

options 也可以有自己的参数,注意:选项与选项之间、选项与参数之间、参数与参数之间必须有空格。

arguments:表示命令的作用对象,如上述示例中 farmsec 就是 ls 命令的作用对象。

在 Linux 中严格区分大小写。

绝对路径和相对路径

绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,linux 的绝对路径是指从根目录说起的。万物起源为 / 目录 。

例如: /dev/somedir/..、/etc/password

而相对路径则是从当前目录说起: 即 ./。例如在当前目录为根的情况下的 ./usr/bin 和 usr/bin 是一个目录。

Tab键的应用

tab 键的两大作用:

  • tab 补全:只需输入文件或目录名以及命令的前几个字符,然后按 TAB 键,如无相重的,完整的文件名或者命令立即自动在命令行出现;如有相重的,再按一下 TAB 键,系统会列出当前目录下所有以这几个字符开头的名字。
  • tab 键查看:在命令行下,只需输入例如 m,再连续按两次 TAB 键,系统将列出所有以 m 开头的命令,(包括自定义的 Bshell 命令函数),对查找某些记不清楚的命令特有用。熟练使用 tab 键可提高工作效率。

文本查看的相关命令

cat(打开文件查看文本内容)

  • cat 命令用于打开文件查看文件内容。
  • 用法:cat [选项] [文件]
  • -v:除了 LFD(换行) 和 TAB 之外所有控制符,用 ^ 和 M- 显示。

echo 用来输出指定内容

  • echo 命令用于输出指定内容。
  • 用法:echo '[文本]'
  • echo '123'

> 和 >>

  • 利用 >> 和 > 也可以将输出内容写入到文件中。
  • > #为覆盖
  • >> #为追加
    *
  • 使用 >> 和 > 可以将命令的输出结果保存于文件中。
  • cat /etc/passwd >1.txt

more(分页查看文件)

  • more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是,按空格键 Space 就往下一页显示,按 Enier 键显示文本的下一行内容,按 b 键就会往回(back)一页显示,按 q 键退出。
  • 用法:more [选项] [文件]
  • more /etc/passwd

less(与more类似)

  • less 与 more 类似,用 less 命令显示文件时,用 PageUp 键向上翻页,用 PageDown 键向下翻页。要退出 less 程序按 q 键。
  • 用法:less [选项] [文件]
  • less /etc/passwd

wc(统计文本文件)

  • wc 命令用来计算数字。利用 wc 指令我们可以计算文件的 Byte 数、字数或是列数。
  • 用法:wc [选项] [文件]
  • 参数:
  • -l 显示行数
  • -c 显示 Bytes 数
  • -w 显示字数
  • 案例:
  • wc -l /etc/passwd
  • wc -c /etc/passwd
  • wc -w /etc/passwd

du(查看文件使用空间)

  • du 命令可查看文件使用空间
  • 用法:du [选项] [文件]
  • -h 以 K,M,G 为单位,提高信息的可读性。
  • du -h /etc/passwd

df(查看磁盘整体的可使用空间)

  • df 命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为 KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
  • 用法:df [选项]
  • -h 使用人类可读的格式
  • df -h

diff 命令(比较文件的差异)

  • diff 命令用于比较文件的差异。

  • diff 以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录。

  • diff 1.txt 2.txt

  • diff 命令所参考的不是第一个文件,而是第二个文件,它的输出信息有以下几种字符:

  • c: 表示必须做一些修改才能使两个文件相同

  • a: 表示必须添加一些内容才能使两个文件相同

  • d: 表示必须删除一些内容才能使两个文件相同

输出重定向

输出重定向

  • 当我们执行命令时,命令的输出会显示在终端上。但有时,我们需要命令的输出保存在文件中,这时就需要 > 和 >> 对命令输出进行重定向。

  • > 符号,是将命令的输出存入文件,并覆盖文件原本的内容。

ls > 1.txt
cat /etc/passwd > 1.txt
  • >> 符号,表示将命令输出结果追加入文件,不会覆盖文件内容。
echo '1' >> 1.txt
echo '2' >> 2.txt

输出重定向

正如命令的输出可以可重定向到文件,命令的输入也可以重定向到文件。一般使用 < 和 <<,其中 << 可以引入多行命令的输入。

cat < 1.txt
ls < 1.txt
  • <<,则更为常用一些,它将运算符解释为读取输入的指令,直到找到包含指定分隔符的行。直到包含分隔符的行的所有输入行都被输入到命令的标准输入中。命令形式一般如下:

  • command << delimiter

  • document

  • delimiter

  • 其中 delimiter 代表用户定义的分隔符,两个分隔符之间,是输入的多行参数。
    如:

wc -l << EOF
abcd
1234
EOF

## 其输出结果为2,统计了输入的行数。

Linux的文件结构

linux1.png

  • /bin 目录下包含了用户命令文件,也就是 shell 命令。
  • /boot 包含了系统启动过程中所需要的所有内容。
  • /dev 目录是设备文件或者专有文件的存放位置。
  • /etc 目录包含了系统的配置文件。
  • /root 用户专有的家目录。一个用户对自己的家目录拥有绝对的控制权。
  • /lib 目录里面存放着共享库和内核模块。在系统的启动阶段和运行根文件系统的各种命令时,都需要用到这些共享库,所以必须与根文件放在一起。
  • /media 与 /mnt 是常见的挂载点.
  • /opt 目录系统附加软件的存放地址
  • /sbin 目录必备的系统软件存放处。用户系统维护的软件和某些只限 root 用户使用的命令存储在/sbin /usr/sbin 以及/usr/local/sbin 目录下。
  • /srv 目录某些服务进程启动以后,他们需要读取的数据会放在 srv 目录中。
  • /tmp 目录存放临时文件。任何程序都不用对/tmp 目录下的任何文件或目录负责。
  • /var 目录包含着系统中绝大多数的随时变化着的数据,比如系统日志。/var 的某些内容是不能共享给其他系统的,典型的就是/var/logs /var/run。当然某些是可以共享的,如/var/spool/news。

vi

  • vi 编辑器:vi 是 Linux 系统的第一个全屏幕交互式编辑程序,它从诞生至今一直得到广大用户的青睐,历经数十年仍然是人们主要使用的文本编辑工具,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。 vi 编辑器具有三种模式:一般模式编辑模式指令模式。 这三种模式可以通过观察 vi 界面的左下角判断。

  • 在命令行执行 vi [文件名] 命令可进入 vi 编辑器并编辑文件,如果没有同名文件则创建。

命令模式:

w         # 保存 write
q         # 退出 quit
wq        # 保存并退出
q!        # 不保存强制退出
set nu    # 显示行号
wq!       # 强制保存并退出

在一般模式下可使用的指令:

/farmsec           # 搜索“farmsec”内容
gg                 # 光标立马回到第一行
2                  # 光标向下跳2行,以此类推
G                  # 移动到最后一行
dd                 # 删除当前行
d2j                # 删除当前行和下两行
yy                 # 复制一行
y2y                # 复制2行
p (小写)            # 粘贴到光标之后
P (大写)            # 粘贴到光标之前
文章作者: cosh
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 cosh'blog
Linux
喜欢就支持一下吧