Linux与Windows系统对比:究竟有何区别?

发表时间: 2024-06-02 10:41

Linux不像windows一样,使用鼠标键盘就能进行操作,而是需要掌握一些常见的指令,才能完成相关操作。 那么哪些指令经常用到呢?请继续往下看:

ls

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

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

whoami: 查看当前用户(zwx登录的是我的账户)。

[zwx@VM-20-3-centos linux-code]$ whoamizwx

touch

touch file:在当前路径下创建一个文件

[zwx@VM-20-3-centos cmd]$ touch file.txt[zwx@VM-20-3-centos cmd]$ lsfile.txt

cd

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

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

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

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: 拷贝目录/文件

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 源文件 + 路径 文件的重命名: 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

cat filename:查看文件内容

tac

tac filename:反向查看文件内容(从最后一行开始)。

more

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: 查看文件

less其实就是为了弥补more查看文件时只能往下翻,不能往上翻的缺点,使用less查看的时候就可以使用上下键来进行翻阅查看。

less查看文件的时候最下面的一行是没有进度条的。

注意:more和less命令查看文件的中退出可以使用q键

公众号--算法学习

本篇文章到这里就结束了,觉得本篇文章对自己有所帮助的话, 可以关注一下公众号 --算法学习社,每天都会去更新LeetCode、数据结构、C/C++、Linux等课程知识,让你从零基础学会编程。