前面我们知道了什么是 Linux,以及如何在 Windows 系统上通过 VMware 来搭建Linux 系统环境。知道了这些之后,我们便可以开始操作 Linux了,那么今天我将为大家分享Linux 的基础命令
在使用基础命令之前,我们首先要知道 Linux 的目录结构,因为它跟 Windows 系统还有 Mac 系统的目录结构是不同的。Windows 系统下可以有多个根目录,像我们的 C 盘和 D 盘,Windows 系统下不同层级的目录之间使用 \
来分隔。
但是 Linux 系统只有一个根目录 /
。并且不同层级的目录使用 /
来分隔。
什么是绝对路径,什么是相对路径?
/
开头command [-options] [parameter]
ls 命令的作用是列出当前工作目录下的内容。
ls [-a -l -h] [Linux文件路径]
这些选项都是可以搭配着使用的。
可以这样搭配 -a -l
-l -h
-a -l -h
也可以这样 -al
-lh
-alh
顺序可以不唯一。
Linux 的工作目录是指用户当前正在操作的目录。工作目录是Shell(命令行界面)或图形用户界面中当前打开的终端窗口运行命令时的默认目录。当您在终端中执行命令或在文件资源管理器中打开文件对话框时,系统将默认在工作目录中搜索文件或创建新文件。
当我们启动 Linux 命令行终端的时候,会默认加载到 HOME
目录。
HOME目录是每个用户的默认主目录。HOME目录通常位于 /home/用户名/
的位置,其中"用户名"是您在系统上的用户名。
HOME目录是每个用户在登录系统时默认进入的目录,也是用户存储其个人文件、配置文件和其他用户特定数据的地方。每个用户都有自己独立的HOME目录,各自之间互不干扰。
在HOME目录中,用户可以创建子目录来组织文件,存储个人文档、图像、音频和其他文件。除此之外,许多应用程序在HOME目录下保存用户的配置文件和个人设置,以便在不同会话中保持一致性。
ls
ls -a
ls -l
ls -lh
ls -l /boot
使用 cd [Linux文件路径]
会将当前的工作目录转换为指定的目录,当cd不添加参数的时候表示会回到 HOME
目录。
cd /
ls -l
pwd
命令会将当前的工作目录给展示出来。
使用 mkdir [-p] Linux路径
来创建目录。
mkdir /home/handsome/test
注意:创建文件夹需要修改权限,需要确保操作均在 HOME
目录内,不要在 HOME
外操作
使用选项 -p
我们可以一次创建多个层级的目录
mkdir -p /home/handsome/test1/123
使用 touch Linux文件路径
来创建文件。
touch /home/handsome/test/txt
使用 cat Linux文件路径
来查看指定文件内容。
我们先在文件中写入数据。
cat test.txt
more
命令也是查看文件内容,但是它跟 cat
不同的是:当文件中内容较多时,cat
会一次将所有内容都给展示出来,而 more
则会一页一页的展示。more Linux文件路径
cat /boot/config-3.10.0-1160.el7.x86_64
more /boot/config-3.10.0-1160.el7.x86_64
使用 cp [-r] 参数1 参数2
来实现文件/文件夹的拷贝。
cp /home/handsome/test.txt test2.txt
cp -r /home/handsome/test1 test2
mv 参数1 参数2
来移动文件或者文件夹。
mv /home/handsome/test1 /home/handsome/Desktop
如果需要移动的文件/文件夹与要移动到的路径在一个层级的话,相当于把这个文件更改了名字。
mv /home/handsome/test2 test3
rm [-r -f] 参数1 参数2……
用来删除一个或者一个以上的文件。
rm -r /home/handsome/Desktop/test1
当我们以普通用户删除文件的时候,会让我们再次确认是否要删除。而如果我们使用 su - root
进入root管理员模式之后,使用 -f
删除的时候,就不会出现提示。
rm 命令支持通配符 * ,用来做模糊匹配
rm /home/handsome/test*
Linux命令,他们的本体就是一个个的二进制可执行程序,和Windows系统中的.exe文件是一个意思
我们可以通过 which 命令
查看所使用的一系列命令的程序文件存放在哪里。
find 查找文件的方式分为两种:
find 开始路径 -name 文件名
以文件名的形式查找文件。
find / -name test
全局查找
查找的时候也可以搭配着通配符来查找。
find / -name test*
find 起始路径 -size +|-n[kMG]
find / -size +50M
ls -lh /boot/initramfs-0-rescue-eab91e769bd847959b68004062e843d5.img
通过 grep [-n] 关键字 文件路径
来查找指定文件的带有关键字的行。
grep girl /home/handsome/test.txt
grep -n girl /home/handsome/test.txt
通过 wc [-c -m -l -w] 文件路径
来统计文件中的行数、单词数量等。
wc -c /home/handsome/test.txt
wc -m /home/handsome/test.txt
wc -l /home/handsome/test.txt
wc -w /home/handsome/test.txt
管道符可以将管道符左边命令的结果作为右边命令的输入。前面我们的 grep
和 wc
都有可以作为内容输入的端口。
cat /home/handsome/test.txt | grep man
find /home -name test.txt | wc -c
? 这里为什么会是24,而不是65呢?其实这里管道符前面的命令返回的是/home/handsome/test.txt
然后将这个结果作为 wc
的输入,所以他统计的是文件路径的字节数,而不是对应的路径文件内容的字节数。那么如果我们想要统计文件内容的字节数该怎么办呢?
我们需要使用 -exec
选项来执行指定的命令,将 test.txt
文件的内容传递给 cat
命令进行合并,再通过管道传递给 wc -c
命令进行字符数统计。
find /home -name test.txt -exec cat {} + | wc -c
echo 输出的内容
echo可以将后面的输出内容给打印出来,类似于其他语言的 print 。
echo "i am a handsome man"
如果我们想要输出后面的命令的结果怎么办?可以直接echo吗?
echo pwd
这样是不可以的,那么该怎么办呢?我们需要使用反引号 ` ,反引号里的内容不会直接作为输出的内容,而是输出反引号内的命令的结果。
echo "abcde" > /home/handsome/test.txt
echo "handsome" >> /home/handsome/test.txt
tail [-f -num] Linux文件路径
查看文件尾部的内容。
cat /var/log/vmware-network.log
tail /var/log/vmware-network.log
tail -5 /var/log/vmware-network.log
什么叫持续跟踪:持续跟踪大概来讲就是当我们使用了 tail -f Linux文件路径
之后,如果我们在该文件中添加数据的话,控制台也会自动显示出我们添加的数据。