Linux不像windows一样,使用鼠标键盘就能进行操作,而是需要掌握一些常见的指令,才能完成相关操作。 那么哪些指令经常用到呢?请继续往下看:
ls: 显示当前路径下的文件,不同的目录下文件不同,ls执行之后所显示的内容也有所差异。
[zwx@VM-20-3-centos ~]$ lslinux-code Makefile[zwx@VM-20-3-centos linux-code]$ lscode csdn lesson LICENSE README.en.md README.md script typora[zwx@VM-20-3-centos lesson]$ lslesson1 lesson10 lesson11 lesson2 lesson3 lesson4 lesson5 lesson6 lesson7 lesson9
-l 选项: 以列表的形式显示文件的各种属性。
[zwx@VM-20-3-centos lesson]$ ls -ltotal 40drwxrwxr-x 4 zwx zwx 4096 Sep 23 23:03 lesson1drwxrwxr-x 2 zwx zwx 4096 Oct 7 15:57 lesson2drwxrwxr-x 2 zwx zwx 4096 Jul 22 19:39 lesson3注意:以d开头说明是一个目录,还有以 - 开头的文件,是普通文件或者可执行程序。[zwx@VM-20-3-centos lesson3]$ ls -ltotal 48-rwxrwxr-x 1 zwx zwx 8360 Jul 22 19:39 a.out-rw-rw-r-- 1 zwx zwx 76 Jul 21 12:20 code.c
-a 选项:显示当先路径下的所有文件(包括隐藏文件)。
[zwx@VM-20-3-centos lesson]$ ls -a. .. lesson1 lesson10 lesson11 lesson2 lesson3 lesson4 lesson5 lesson6 lesson7 lesson9
和没有使用 -a 选项相比,多了一个 . 文件和 ..文件。
很多人不理解显示的文件中. 和 ..是什么,Linux下是有隐藏文件的,Linux中隐藏文件不容易理解,这里和windows下的隐藏文件来对比理解。windows下想要查看隐藏文件很简单,只需要把查看中隐藏的项目打开即可。
Linux下的隐藏文件都是以 . 开头的,. 表示当先路径,..表示上一级路径。
隐藏文件在实际的开发中有其很大用途:它可以隐藏系统的一些配置文件,避免误删除等操作。
pwd: 显示当前的工作目录。
[zwx@VM-20-3-centos lesson]$ pwd/home/zwx/linux-code/lesson[zwx@VM-20-3-centos linux-code]$ pwd/home/zwx/linux-code
whoami: 查看当前用户(zwx登录的是我的账户)。
[zwx@VM-20-3-centos linux-code]$ whoamizwx
touch file:在当前路径下创建一个文件。
[zwx@VM-20-3-centos cmd]$ touch file.txt[zwx@VM-20-3-centos cmd]$ lsfile.txt
cd: 更改目录,切换工作路径,可以在工作路径下进行来回的切换(cd .. 返回上一级目录)。
[zwx@VM-20-3-centos linux-code]$ cd lesson[zwx@VM-20-3-centos lesson]$ pwd/home/zwx/linux-code/lesson[zwx@VM-20-3-centos lesson]$ cd lesson1[zwx@VM-20-3-centos lesson1]$ pwd/home/zwx/linux-code/lesson/lesson1
mkdir directory:创建一个目录。
[zwx@VM-20-3-centos lesson1]$ lsmyproc project[zwx@VM-20-3-centos lesson1]$ mkdir directory[zwx@VM-20-3-centos lesson1]$ lsdirectory myproc project
在当前目录下创建a/b/c/d/e/f,那么直接使用mkdir a/b/c/d/e/f是不行的,这时候就需要加上一个-p选项。
[zwx@VM-20-3-centos lesson2]$ mkdir a/b/c/d/e/fmkdir: cannot create directory ‘a/b/c/d/e/f’: No such file or directory[zwx@VM-20-3-centos lesson2]$ mkdir -p a/b/c/d/e/f注意:创建出来的a~f都是一个目录,当然也包括f。
rm: 不加任何选项可以删除普通文件,加上-r选项可以删除目录。
[zwx@VM-20-3-centos cmd]$ lsdirectory file.txt[zwx@VM-20-3-centos cmd]$ rm file.txt[zwx@VM-20-3-centos cmd]$ rm -r directory[zwx@VM-20-3-centos cmd]$ ls[zwx@VM-20-3-centos cmd]$
rm还有两个常用的选项,**-f可以进行强制删除**,即使文件是只读的也会直接删除;
-i选项在删除的时候会先提示用户是否删除,删除的话输入yes/y,不删除输入no/n。
[zwx@VM-20-3-centos lesson2]$ lsmydir[zwx@VM-20-3-centos lesson2]$ rm -rif mydir[zwx@VM-20-3-centos lesson2]$ ls[zwx@VM-20-3-centos lesson2]$ mkdir mydir[zwx@VM-20-3-centos lesson2]$ rm -ri mydirrm: remove directory ‘mydir’? y
注意:当 -f 和 -i 选项一起使用的时候,是不会提示是否进行删除的。
man: 查询指令、函数等。
查询的时候可以带数字项,shell中输入man对数字项是这样解释的:
1 Executable programs or shell commands 2 System calls (functions provided by the kernel)3 Library calls (functions within program libraries)4 Special files (usually found in /dev)5 File formats and conventions eg /etc/passwd6 Games7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)8 System administration commands (usually only for root)9 Kernel routines [Non standard]
在我们使用的时候,可以不带这些数字项,因为在shell中也会自动识别。
space建可以往下翻阅,q可以直接退出。
man指令在我们查询的时候还是非常推荐使用的,像一些函数的功能,以及需要什么头文件都是可以直接在shell中查询的。
cp: 拷贝目录/文件。
cp file/directory path
无论是创建、删除,还是拷贝重命名等命令,都需要注意文件的路径,因为文件的路径分为两种:绝对路径和相对路径。
绝对路径:从根目录开始,一步一步定位到工作目录,如cd /home/zwx/code/c 。
相对路径:以当前目录为参考,逐步定位到工作目录,如果我们在/home/zwx下想要进入cd /home/zwx/code/c可以直接cd ./code/c。
[zwx@VM-20-3-centos c]$ cp test.c ../[zwx@VM-20-3-centos c]$ cd ..[zwx@VM-20-3-centos code]$ pwd/home/zwx/code[zwx@VM-20-3-centos code]$ lsc cpp test.c
如果我们想要复制目录到一个路径下,就需要加上 -r 选项。
[zwx@VM-20-3-centos code]$ cp c ../cp: omitting directory ‘c’[zwx@VM-20-3-centos code]$ cp -r c ../[zwx@VM-20-3-centos code]$ cd ..[zwx@VM-20-3-centos ~]$ lsc code csdn lesson
cp中同样存在-f选项,也是强制复制的意思,不管目标路径是否存在目标文件,cp中还存在一个-i选项,选项的作用是如果目标文件在拷贝的路径下有同名的文件,会提示一下是否进行覆盖。
[zwx@VM-20-3-centos code]$ cp -ir c ../cp: overwrite ‘../c/test.c’? y
mv: 移动文件到另一个路径下/重命名。
文件的移动: mv 源文件 + 路径 文件的重命名: mv 源文件名 + 文件名
test1和test2在是在同一路径下的两个目录,可以使用mv命令将myproc移动到test1中。
[zwx@VM-20-3-centos test2]$ mv myproc ../test1/[zwx@VM-20-3-centos test2]$ tree ../../|-- test1| `-- myproc`-- test2
mv指令同样存在-i和-f选项,这两个选项和在rm中意义是相同的。
cat filename:查看文件内容。
tac filename:反向查看文件内容(从最后一行开始)。
more: 查看文件。
在测试more和less的时候,我们先使用脚本创建一个有一万行"hello world"的文件file.txt(每一行都有对应的行号)。
脚本指令:
count=0; while [ $count -le 10000 ]; do echo "hello world ${count}"; let count++; done > file.txt
more指令进行的时候可以使用回车键一行一行下翻,也可以使用空格键一屏一屏的下翻。
less: 查看文件
less其实就是为了弥补more查看文件时只能往下翻,不能往上翻的缺点,使用less查看的时候就可以使用上下键来进行翻阅查看。
less查看文件的时候最下面的一行是没有进度条的。
注意:more和less命令查看文件的中退出可以使用q键。
本篇文章到这里就结束了,觉得本篇文章对自己有所帮助的话, 可以关注一下公众号 --算法学习社,每天都会去更新LeetCode、数据结构、C/C++、Linux等课程知识,让你从零基础学会编程。