Linux 常用命令
1.1 mkdir
mkdir命令用于创建目录。
用法:mkdir [选项] [目录名]
参数:-p 创建多级目录,如果目录名称不存在,就新建一个。
案例:
mkdir farmsec
mkdir farmsec1 farmsec2
mkdir -p farmsec3/farmsec4
1.2 ls
ls命令用于显示指定工作目录下之内容(列出指定目录所含之文件及子目录),ls命令的输出信息可以进行彩色加亮显示,以区分不同类型的文件。
用法:ls [选项] [目录]
参数:
- -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -l 除文件名称外,也将文件型态、权限、拥有者、文件大小等资讯详细列出
- -h 以容易理解的格式列出文件大小
案例:
ls
ls -l
ls -a farmsec3
ls -al farmsec3
1.3 pwd 命令
pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。
用法:pwd
案例:
pwd
1.4 cd 命令
cd命令用于切换当前工作目录。
用法:cd [目录]
案例:
cd farmsec
用法:cd [绝对路径]
案例:
cd /root/farmsec3/farmsec4
用法: .代表当前目录,..代表上一级目录,cd ~用于切换至登录用户家目录。cd –用于回到上一个目录。
案例:
cd .
cd ..
cd ~
cd -
1.5 touch 命令
touch命令用于创建一个空白的新文件,如果同名文件已存在,则修改其时间属性。
用法: touch [选项] [文件名]
案例:
touch fsec1
1.6 cp 命令
cp命令主要用于复制文件或目录。
用法:cp [选项] [源文件] [目录]
参数:
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。(递归)
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。(保持默认属性)
案例;
cp fsec1 farmsec
cp /root/farmsec/fsec1 farmsec1
cp /root/farmsec1/fsec1 /root/farmsec2
cp -r farmsec farmsec3/farmsec4
1.7 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
1.8 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命令格式
2.1 Linux 的命令格式
linux命令的格式表现为:命令+选项+对象
COMMAND options arguments
具体说明:
COMMAND: 表示命令的名称, 如 ls 。
options:定义命令的执行特性,可以有长短两种选项:
长选项: 用 — 引导,后面跟完整的单词,如 –help
短选项: 用 – 引导,后面跟单个的字符, 如 -a
多个短选项可以组合使用,例如: -h -l -a == -hla, 但是长选项不能组合使用,如 –help后面就不能再跟另外一个单词了。
options也可以有自己的参数,注意:选项与选项之间、选项与参数之间、参数与参数之间必须有空格。
arguments:表示命令的作用对象,如上述示例中farmsec 就是ls命令的作用对象。
在Linux中严格区分大小写。
2.2 Linux 获取命令帮助的方式
使用-h,–help和man可以查看命令的帮助文件。
ping -h
cp –help
man cp
路径
绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,linux的绝对路径是指从根目录说起的。万物起源为/目录 。
例如: /dev/somedir/..、/etc/password
而相对路径则是从当前目录说起: 即 ./。例如在当前目录为根的情况下的./usr/bin和usr/bin是一个目录。
image-20211119180353767
2.4 Tab键的使用
tab键的两大作用:
tab补全:只需输入文件或目录名以及命令的前几个字符,然后按TAB键,如无相重的,完整的文件名或者命令立即自动在命令行出现;如有相重的,再按一下TAB键,系统会列出当前目录下所有以这几个字符开头的名字。
tab键查看:在命令行下,只需输入例如m,再连续按两次TAB键,系统将列出所有以m开头的命令,(包括自定义的Bshell命令函数),对查找某些记不清楚的命令特有用。熟练使用tab键可提高工作效率。
2.5 四个特殊的文件名
. #代表当前目录
.. #代表上一级目录
- #代表上一个工作的目录
~ #代表家目录(root为/root,其他用户在/home下)
3.文本查看相关命令
3.1 cat 命令
cat命令用于打开文件查看文件内容。
用法:cat [选项] [文件]
案例:
cat /etc/passwd
查看farmsec文件 cat farmsec
cat -v farmsec #加入参数-v后再查看
参数:
-v:除了 LFD(换行) 和 TAB 之外所有控制符,用 ^ 和 M- 显示。
4.2 echo 命令
echo命令用于输出指定内容。
用法:echo ‘[文本]’
echo ‘123’
利用>>和>也可以将输出内容写入到文件中。
>>追加 >覆盖
4.3 more 命令
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是,按空格键Space就往下一页显示,按Enier键显示文本的下一行内容,按 b键就会往回(back)一页显示,按q键退出。
用法:more [选项] [文件]
案例:
more /etc/passwd
4.4 less 命令
less 与more类似,用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序按q键。
用法:less [选项] [文件]
案例:
less /etc/passwd
4.5 head 命令
head命令用于查看文件的开头的内容。在默认情况下,head命令显示文件的头10行内容
用法:head [选项] [文件]
参数:
-n 显示的行数
案例:显示passwd文件前两行
head -n 2 /etc/passwd
4.6 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
4.7 wc 命令
wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数。
用法:wc [选项] [文件]
参数:
-l 显示行数
-c 显示Bytes数
-w 显示字数
案例:
wc -l /etc/passwd
wc -c /etc/passwd
wc -w /etc/passwd
4.8 du 命令
du命令可查看文件使用空间
用法:du [选项] [文件]
参数:
-h 以K,M,G为单位,提高信息的可读性。
案例:
du -h /etc/passwd
4.9 df 命令
df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
用法:df [选项]
参数:
-h 使用人类可读的格式
案例:
df -h
4.10 diff 命令
diff 命令用于比较文件的差异。
diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录。
案例:
diff 1.txt 2.txt
diff命令所参考的不是第一个文件,而是第二个文件,它的输出信息有以下几种字符:
c: 表示必须做一些修改才能使两个文件相同
a: 表示必须添加一些内容才能使两个文件相同
d: 表示必须删除一些内容才能使两个文件相同
输入/输出重定向
大多数系统命令从您的终端获取输入并将结果输出发送回您的终端。
通常用于标准输出的命令的输出可以很容易地转移到文件中。此功能称为输出重定向。
正如命令的输出可以重定向到文件一样,命令的输入也可以从文件重定向。
5.1 输出重定向
当我们执行命令时,命令的输出会显示在终端上。但有时,我们需要命令的输出保存在文件中,这时就需要>和>>对命令输出进行重定向。
符号,是将命令的输出存入文件,并覆盖文件原本的内容。
ls > 1.txt
cat /etc/passwd > 1.txt
符号,表示将命令输出结果追加入文件,不会覆盖文件内容。
echo ‘1’ >> 1.txt
echo ‘2’ >> 2.txt
5.2 输入重定向
正如命令的输出可以可重定向到文件,命令的输入也可以重定向到文件。一般使用
cat ls
command document
delimiter
其中delimiter代表用户定义的分隔符,两个分隔符之间,是输入的多行参数。
如:
wc -l abcd
1234
EOF
其输出结果为2,统计了输入的行数。
6.Linux 的文件结构
在Linux系统中有一个重要的概念:一切都是文件。 其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。
在Linux系统中文件后缀是没有作用的,后缀名只是为了能让自己能够更好的区别文件的作用。
Linux系统中的各类文件被Linux使用目录树进行管理, 所谓的目录树就是以根目录/为主,向下呈现分支状的一种文件结构。
与Windows 系统不同,Linux 系统没有C盘、D盘、E盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。
这样做最明显的好处是,开发者仅需要使用一套 API 和开发工具即可调取 Linux 系统中绝大部分的资源。举个简单的例子,Linux 中几乎所有读(读文件,读系统状态,读 socket,读PIPE)的操作都可以用read函数来进行;几乎所有更改(更改文件,更改系统参数,写 socket,写 PIPE)的操作都可以用write函数来进行。
不利之处在于,使用任何硬件设备都必须与根目录下某一目录执行挂载操作,否则无法使用。我们知道,本身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。
服务器租用托管,机房租用托管,主机租用托管,https://www.e1idc.com