Linux常用命令学习1

mkdir 命令

mkdir命令用于创建目录。

用法:mkdir [选项] [目录名]

参数:-p 创建多级目录,如果目录名称不存在,就新建一个。

案例:

mkdir farmsec
mkdir farmsec1 farmsec2
mkdir -p farmsec3/farmsec4

ls 命令

ls命令用于显示指定工作目录下之内容(列出指定目录所含之文件及子目录),ls命令的输出信息可以进行彩色加亮显示,以区分不同类型的文件。

用法:ls [选项] [目录]

参数:

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)

  • -l 除文件名称外,也将文件型态、权限、拥有者、文件大小等资讯详细列出

  • -h 以容易理解的格式列出文件大小

案例:

ls
ls -l
ls -a farmsec3
ls -al farmsec3

pwd 命令

pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。

用法:pwd

案例:

pwd

cd 命令

cd命令用于切换当前工作目录。

用法:cd [目录]

案例:

cd farmsec

用法:cd [绝对路径]

案例:

cd /root/farmsec3/farmsec4

用法: .代表当前目录,..代表上一级目录,cd ~用于切换至登录用户家目录。cd -用于回到上一个目录。

案例:

cd .
cd ..
cd ~
cd -

touch 命令

touch命令用于创建一个空白的新文件,如果同名文件已存在,则修改其时间属性。

用法: touch [选项] [文件名]

案例:

touch fsec1

cp 命令

cp命令主要用于复制文件或目录。

用法:cp [选项] [源文件] [目录]

参数:

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

案例;

cp fsec1 farmsec
cp /root/farmsec/fsec1 farmsec1
cp /root/farmsec1/fsec1 /root/farmsec2
cp -r farmsec farmsec3/farmsec4

mv 命令

mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

用法:mv [选项] [源文件/源目录] [目录] 参数:

  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。(直接覆盖不询问)
  • -n: 不要覆盖任何已存在的文件或目录。(不覆盖已存在的文件)
mv fsec1 f1
mv f1 farmsec
mv farmsec farmsec1

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 f1
rm -f fsec
rm farmsec1/farmsec/      #删除farmsec1/farmsec/目录下的所有文件
rm -r farmsec1
rm -rf farmsec2
rm -rf /root/farmsec3

 rm -rf是一条危险的命令,代表递归删除某文件,如rm -rf /是递归删除根目录下的所有目录和文件,该命令不会询问,一旦执行系统将崩溃。

Linux 的命令格式

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

COMMAND options arguments

具体说明:

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

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

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

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

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

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

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

在Linux中严格区分大小写。

Linux 获取命令帮助的方式

使用-h,–helpman可以查看命令的帮助文件。

ping -h
cp --help
man cp

绝对路径与相对路径

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

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

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

Tab键的使用

tab键的两大作用:

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

四个特殊的文件名

.    #代表当前目录
..   #代表上一级目录
-    #代表上一个工作的目录
~    #代表家目录(root为/root,其他用户在/home下)

cat 命令

cat命令用于打开文件查看文件内容。

用法:cat [选项] [文件]

案例:

cat /etc/passwd

cat -v farmsec #加入参数-v后再查看

参数:

  • -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 命令

less 与more类似,用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序按q键。

用法:less [选项] [文件]

案例:

less /etc/passwd

 head 命令

head命令用于查看文件的开头的内容。在默认情况下,head命令显示文件的头10行内容

用法:head [选项] [文件]

参数:

  • -n<行数> 显示的行数

案例:显示passwd文件前两行

head -n 2 /etc/passwd

tail 命令

tail 文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行,如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题

用法:tail [选项] [文件]

  • 参数:-n<行数> 显示的行数

案例:查看passwd文件尾部三行内容。

tail -n 3 /etc/passwd
  • 参数:-f 循环读取

案例:查看新增的内容

tail -f /var/log/secure

/var/log/secure是系统远程登录日志,我们可以通过tail -f命令监控日志变化情况。

随后我们另开一个命令终端远程登录此台计算机。可以看到tail -f命令监控到了日志变化。Ctrl+c取消命令。

使用管道操作符|可以把一个命令的标准输出传送到另一个命令的标准输入中,连续的|意味着第一个命令的输出为第二个命令的输入,第二个命令的输入为第一个命令的输出,依次类推。

案例:只显示passwd文本的第五行。

head -n 5 /etc/passwd |tail -n 1

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 的文件结构

在Linux系统中有一个重要的概念:一切都是文件。 其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。

在Linux系统中文件后缀是没有作用的,后缀名只是为了能让自己能够更好的区别文件的作用。

Linux系统中的各类文件被Linux使用目录树进行管理, 所谓的目录树就是以根目录/为主,向下呈现分支状的一种文件结构。

 

与Windows 系统不同,Linux 系统没有C盘、D盘、E盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。

  1. 这样做最明显的好处是,开发者仅需要使用一套 API 和开发工具即可调取 Linux 系统中绝大部分的资源。举个简单的例子,Linux 中几乎所有读(读文件,读系统状态,读 socket,读PIPE)的操作都可以用read函数来进行;几乎所有更改(更改文件,更改系统参数,写 socket,写 PIPE)的操作都可以用write函数来进行。
  2. 不利之处在于,使用任何硬件设备都必须与根目录下某一目录执行挂载操作,否则无法使用。我们知道,本身Linux具有一个以根目录为树根的文件目录结构,每个设备也同样如此,它们是相互独立的。如果我们想通过Linux上的根目录找到设备文件的目录结构,就必须将这两个文件系统目录合二为一,这就是挂载的真正含义。

下面我们来逐一介绍Linux根目录下的各个目录:

  • /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 (大写)            # 粘贴到光标之前
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值