自学内容网 自学内容网

Linux中的基本指令(一)

一、Linux中指令的存在意义

Linux中,通过输入指令来让操作系统执行,以此达到控制操作系统的目的,类似于Windows中的双击,右键新建文件,新建文件夹等

1.补:关于屏幕的几个操作指令

清屏指令

clear

回车

可以实现清理当前屏幕

②全屏指令

直接按:

alt+回车

可以将当前控制台窗口置为全屏,再按一次可以退出

二、目录展示指令ls

2.1基本作用及使用规范

显示当前目录下的所有目录和文件(类似双击文件夹

使用规范:

ls

回车

效果:

其中,蓝色的表示目录,黑色的是普通文件,绿色的是可执行文件 

2.2命令的选项  -l

使用规范:

ls  -l

回车

可以显示比ls更详细的信息,效果如:

其中的  -l  我们称之为命令的选项

2.2补:显示的第一列可以表示文件类型

ls -l展示的内容都是文件属性(结合4.2理解)

第一列中,d开头为目录,-开头为普通文件

2.3添加显示隐藏文件  -a

-a的作用是可以显示所有文件

使用规范:

ls -a

回车

效果图:

2.3补:①关于命令的选项的其他问题

1>命令中的选项,一次可以传递多个

2>选项可以拼在一起,顺序任意

②ls -a显示的时候,有两个特殊的目录  .  和  ..

在Linux下,任何一个目录都有.和..这两个特殊目录,包括根目录和新建的空目录

根目录的..指向的不是上级路径,而是指向自己

1>  .  为特殊目录:当前目录 

2>  ..  为特殊目录:上级目录

③Linux中的隐藏文件

Linux中,以。

开头的文件我们叫做隐藏文件 (包含文件/文件夹),且我们可以自己创建隐藏文件

 2.4ls可以显示指定路径下的文件

使用规范:

ls+[路径]

回车

效果图:

当然,也可以添加命令的选项来显示更多的信息

2.5 -d 可以显示当前目录具体信息,而不进入目录

使用规范:

ls -d

回车

效果图:

2.补:关于指令ll

实际上ll是一种指令的简写,相当于

ls -l

他们实际效果是一样的

三、文件夹创建指令mkdir

3.1功能与使用规范

可以创建当前目录下新的“目录”(类似新建文件夹

使用规范:

mkdir+[目录名]

回车

效果图:

3.2加上选项-p可以创建一串路径

如mkdir -p ./dir1/dir2/dir3

使用规范:

mkdir -p+[一串路径]

回车

效果图:

若是原来就有new1这个文件夹的话,会自动找到它的位置,并在其中继续寻找new2;

若是没找到就创建接下来的一串路径,找到了就进入之后再找

四、文件创建指令touch

4.1指令的基本作用与使用规范

①指定路径下新建普通文件

②更新文件的时间

使用规范:

touch+[文件名]

回车

效果图:

4.1补:可以一次创建多个文件

以空格分隔,一次可以创建多个文件

效果图:

4.2结合Windows说明文件的组成

在Windows中,我们新建一个0字节的空白文档,会不会占用磁盘空间呢?

答案是会的,文件属性占用了磁盘空间

其实,文件=文件内容+文件属性

我们在对文件进行操作的时候,无非是两种:

①对文件内容进行操作

②对文件属性进行操作

五、常看当前路径指令pwd

5.1使用规范

全称是:print work directory

使用规范:

pwd

回车

效果图:

5.2对比Linux和Windows中的路径

这是Windows下的一种路径:

这是Linux中的一种路径:

结合起来看,对于Windows我们比较熟悉,而在Linux中我们发现:路径起始于“/”,因此“/”实际上就是Linux中的根目录

此外,在Windows中  \  是路径分隔符

而在Linux中  /  是路径分隔符

六、路径切换指令cd

6.1作用及使用规范

cd指令可以进入到指定的目录下

使用规范:

cd+[路径]

回车

效果图:

6.2cd配合.和..使用

cd配合..可以达到返回上级目录的效果(类似于“我的电脑”当中的回退

cd配合.路径不变

实际上,诸如

cd test11等指令都是简写,全写应该是cd ./test11

6.3Linux的目录结构

综合来看,Linux的目录结构于Windows中几乎一致,整体是一颗多叉树的形状,且具有如下特点:

①这个多叉树的叶子节点,一定是空目录或者文件

②一个叶子节点只有一个父节点

③一个父节点可以有多个叶子节点

从这些特点来分析,就可以解决:为什么路径可以定位一个文件?

多叉树的目录结构决定了:路径具有唯一性

实际上,touch,ls,mkdir等操作也都可以用路径来进行定位操作

6.3补:树状显示指令tree

(需要在root用户下安装,指令为yum install -y tree)

使用规范:

tree+[路径]

回车

效果图:

整体来看更加直观

tree也可以结合.和..来使用

6.4绝对路径和相对路径

在上述例子中,类似于

/root/test_1_16

等都是绝对路径,而像

../test_1_16

../test_11

等都是相对路径

例如我们希望进入到上级目录,可以采用

(相对路径)①cd ..

(绝对路径)②cd+[上级目录的绝对路径]

两种方式都可以

对比一下绝对路径和相对路径:

①一般命令行操作的时候,更趋向于用相对路径,因为方便

②绝对路径在任何路径下都能找到指定文件,常在配置文件中使用

③诸如/root/../test.c这种混合体,其实是一种简写的绝对路径

6.5cd的特殊用法:跳转到最近的上一次路径

使用规范:

cd -

回车

效果图:

6.6家目录及快捷跳转到家目录的指令

家目录的理解可以结合Windows当中的“桌面”

在Windows当中,桌面就是一个文件夹,也是家目录

而在Linux中,用户登录Linux后,默认所处的路径就是对应用户的家目录

不同用户的家目录也各不相同,如

①root用户首次登陆所处的路径,就是root用户的家目录

效果图:

②普通账号首次登陆所处的路径,就是普通账号的家目录

效果图:

快捷跳转到家目录的指令:

cd ~

回车

效果图:

6.补:分屏操作的方式

右键当前机器窗口->复制SSH渠道->拖动

七、删除空目录指令rmdir

这个指令只能删除空目录,非空目录或是文件都删不了

使用规范:

rmdir+[空目录名]

回车

效果图:

八、通用删除指令rm

8.1基本功能及其使用规范

rm可以用来删除普通文件

使用规范:

rm+[文件名]

回车

效果图:

8.1补:管理员账户下的询问

观察可以发现:8.1中的例子里多出来一句“remove regular empty file ‘show1.c’?”

这是操作系统为了确保安全设置的一条提示,只在root用户下会询问,每当要删除一个文件/目录的时候,都会弹出一句,我们需要输入“y”或者“n”来决定是否进行删除

8.2通用删除选项  -r

加上这个选项以后,可以用来删除:非空目录,空目录以及文件

这是一个递归式删除,在删除非空目录时体现的尤为明显

使用规范:

rm -r+[目录名/文件名]

回车

效果图:

rm -r还可以用来删除隐藏文件 

8.3强制删除选项-f

观察8.2中的例子会发现,在删除一个非空目录时询问的次数会变得很多,那么可不可以跳过这些询问过程呢?

答案是可以的,只要使用选项-f即可

使用规范:

rm -r -f+[目录名/文件名]

回车

效果图:

8.3补:万万不敢直接 rm -rf /删除根目录,会导致OS崩溃 

8.补:常用功能

①通配符*

如果我们在一个目录中有多个以test开头的文件/目录,我们希望一并删除

可以直接(假如以show开头)

rm -rf show*
回车

效果如图:

 其中用到的*也叫通配符,可以表示任何内容

所以rm -rf * 可以把当前目录删空

②热键:双击tab

主要作用是辅助补齐指令,效果如:

1>输入who以后,双击tab,会展示who开头的所有指令,并让用户从从who的后面继续输入;

如果who开头的只有一种指令,则会直接补齐该条指令并添加空格

2>如ls ../按两下tab会展示上级所有文件,并让用户继续输入

3>未输入情况下双击tab,会展示Linux中所有指令,因为指令太多,会分批次显示,默认显示第一批:

按回车继续加载

不需要时可以按“Q”键退出

③程序快速中止Ctrl+C

当程序失控的时候,按住crtl+c可以强制中止运行

九、手册查看指令man

9.1man的功能与使用规范(需root下安装yum install -y man-pages)

man是一个在线使用手册,可以

①man ls等查看指令含义

②man 3 strstr 查3号手册中C语言接口

9.1补:printf在Linux中也是一条指令

例如,

printf "%d-%f-%c-%s\n" 10,1.1,'c',"cpp"

回车

直接打印出“10-1.1-c-cpp”

9.2man中的序号手册

在man中有多个序号手册,其中常用的有三个

1号为查找指令,2号为查找系统调用,3号为查找库函数(C语言库函数适合在这里查找)

使用规范:

man+[手册序号]+[查找名]

回车

十、文件复制指令cp

10.1使用规范和使用举例

使用规范:

cp+[被拷贝文件名/路径]+[拷贝文件名/路径]

回车

使用起来,如

①cp test.c hello.c

->  cp+[被拷贝文件名/路径]+[拷贝文件名]

在指定目录中(默认为当前目录)新建并拷贝[被拷贝文件名/目录]

会在当前目录新建hello.c,再把test.c的内容拷贝到hello.c中

②cp test.c ../

->  cp+[被拷贝文件名/路径]+[拷贝路径]

会把[被拷贝文件名/目录]拷贝到指定的目录下

会把test.c复制到上级目录

10.2非空目录的拷贝

cp不能直接复制非空目录,需要加上选项-r

这样以后,就可以递归复制非空目录了

效果图:

注: 若要复制到的目录已存在,并且其中含有与被复制目录中内容相同的文件/目录,在root下会逐个询问是否覆盖,即使加-f选项也会问;但是普通用户下不会询问

10.补:Linux中同一目录下也不支持同名文件 

十一、Linux中创建并运行C语言程序的操作步骤

书写并编译运行C语言程序需要四个指令,分别是nano,cat,gcc编译

11.1nano指令(需先安装 yum install -y nano)


nano test.c

作用是:以记事本的方式打开test.c

写完以后ctrl+X离开,离开前会问是否保存,用y/n输入指令决定是否保存,回车

11.2cat指令

cat test.c

作用是:打开并查看test.c的内容

11.3gcc编译

gcc test.c -o mytest

意思是利用gcc编译器编译test.c的内容,并将编译后的可执行程序保存为名叫mytest的文件

下一步直接运行这个可执行程序即可

注:这个可执行程序不能简写成

myset

直接回车,必须用路径,最简也是./myset


原文地址:https://blog.csdn.net/tianxhiliangtadi/article/details/145236588

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!