Linux系统操作常用指令
ctrl+shift+t:切换标签
ctrl+shift+n:新增窗口
Linux命令大全(超详细版)_第二范式的博客-CSDN博客
VMware运行时以管理员身份运行,可以避免许多问题。
输入法切换 ctrl +空格
放大终端:ctrl+shift+"+"
缩小终端:ctrl+“-”
ctrl+alt+t:新增终端窗口,打开家目录下的终端(任何位置都能打开)
ctrl+shift+n:打开当前路径下的终端(需要已经打开了终端)
清屏:ctrl+l
清空终端页面内容:clear
初次打开虚拟机,进入终端在其中输入,sudo hq_vm.sh 新增拖拽功能。
终端为1,终端内密码不显示
hq@Ubuntu:~$
hq:用户名,ububtu:主机名,:和$中间位置为”家目录“,后期可更改
文件名含义
Linux 系统中常用指令
一、ls list 作用就是列出当前目录/指定目录下的文件或者目录。
1、ls file/....列出当前文件夹下内容
对标windows中的双击某个目录,查看里面具有有哪些东西。
/ 根目录,对标windows中的此电脑。Linux中的任何一个文件都是在/ 根目录下存在的。
使用ls -l 就可以查看其中的具体信息,此操作就对标windows中的显示详细信息。
其他命令行参数、注意:命令行的参数与参数之间,需要一个空格进行分割。
2、ls -a,显示所有文件包括隐藏文件。
3、ls -l ,显示文件所有信息
drwxrwxr-x 2 hq hq 4096 8月 1 10:34 23081
输出的九列信息分别含义
1、第一列:
(1)、第一个字母含义如下:
文件的类型(共7种bcd-lsp):
‘b’:块设备文件(sd卡 硬盘等)
’c‘:字符设备文件;(usb 鼠标等)
‘d’:目录文件;(蓝色)
‘-’:普通文件;(白色)
‘l’:软链接文件;(相当于快捷方式)
‘s’:套接字文件;
‘p’:管道文件;
- 第二列:后面九个字母分别3个为一组
(r表示读权限,w表示写权限,x表示可执行权限,-表示无权限),
(第一组为表示当前用户所有者权限,第二组为表示组内用户权限,第三组为表示其他用户组的权限。)
例:demo :可读可写可执行;可读可写可执行;可读不可写可执行
权限值:rw-rw-r-- 十进制:(6 6 4)二进制表示:(110 110 100)
3、第三列(1)、如果是目录的话,这个数字表示当前这个目录下面的一级目录个数。
(2)如果是文件的话,数字表示硬链接个数。(硬链接个数:可以简单的理解为一个文件的文件名个数,比如a文件的文件名有s和j两个,因为s和j指向同一个a,改动s或j都会对a造成改变)
4、第四列: 该文件或目录的所有者。
5、第五列: 表示所属的组。
6、第六列: 文件的大小。
7、第七列: 月份(最近修改文件的日期)。
8、第八列: 多少号(最近修改文件的最后日期)。
9、第九列: 几点(最近修改文件的最后日期)。
10、第十列:文件名
4、ls -r:对目录反向排序
5、ls -t:按时间排序
6、ls -R:递归显示;列出所有子目录下的文件
-
二、cd change directory 切换目录
1、cd 文件名
在Linux系统中,磁盘上的文件和目录被组成一个目录树,每个节点都是目录或者文件。其中相当于在windows中资源管理中双击了某个目录,cd 后面跟上你想有切换目录的路径,这里的路径可以使用相对路径,也可以使用绝对路径。
2、相对路径和绝对路径是用于定位文件或目录位置的方式。
相对路径是相对于当前工作目录或当前文件所在目录的路径。它描述了如何从当前位置到达目标文件或目录。相对路径不包含根目录,并且通常使用相对于当前目录的符号(如"."代表当前目录,".."代表上级目录)来表示路径。
例如,假设当前工作目录是 /home/user/,要访问该目录下的一个文件 example.txt,相对路径可以是 ./example.txt 或者 example.txt。
1)绝对路径:
绝对路径是一个完整的路径,从/根目录的位置逐层往下找,从根目录开始直到目标文件或目录的路径。它提供了一个明确的位置。绝对路径通常以根目录(如 / 或 C:\)作为起点,然后按照目录结构逐级指定路径。
2)相对路径:
例如,Windows系统中的一个绝对路径可以是 C:\Users\user\Documents\example.txt,Linux系统中的绝对路径可能是 /home/user/Documents/example.txt。
总结起来,相对路径是相对于当前位置的路径,而绝对路径是从根目录开始的完整路径。
使用绝对路径的方式来切换目录:cd 文件名 进入当前文件的下一级
使用相对路径的方式来切换目录。cd 后面不加任何的选项,就会直接跳转到当前用户的home目录。
3、cd /切换到根目录
4、cd ~ 切换到当前目录的主目录
5、cd ./ 切换到当前目录
6、cd ../ 切换到上一级
7、cd - 切换到上一个目录
8、相同等级文件夹切换:cd ../同级文件名
-
三、pwd:查看当前路径
这个命令是防止用户迷路的命令,此命令就是显示我们当前的完整路径。
这个命令对标windows中的鼠标在此电脑中的地址栏一点:
可以看出,鼠标在上面一点,就会显示出完整的路径。
在Linux中,pwd就是这个作用。
-
四、touch 创建一个空白的文件
用法:touch 文件名.后缀
可以看到我们执行touch a.txt命令之后,Linux并没有给我任何的反馈。
其实我们不必惊慌,在Linux中,没有消息就是最好的消息。我们的这个命令是执行成功的。
若已经有了这个文件,则touch命令只更改时间戳
五、读取文件的内容
注意:此命令如果读取短小的文件还好,如果使用此命令读取文件特别大的文件,cat就很不方便了。
1、cat命令
1):读取硬盘上的文件。
2):把这个文件全部显示在终端里面。
那么如果说这个文件特别大,我们一次性的把很大的文件全部读取完成,在把文件里面的信息全部显示在终端上。此时消耗的时间是比较大的。
我们使用cat命令读取ccc目录下的一个文件的效果。
添加命令行参数 -n 就是我们给我们读取的文件内容添加上行号(空行也加上序号)。
添加命令行参数 -b 就是加行号显示(空行不加序号)。
添加命令行参数 -s 就是多个空行合并成一个空行显示。
-
2、nl:加行号显示文件内容(空行不加行号).
3、head:默认只显示前十行内容,后面跟数字则显示数字行数(包括空行)。
4、tail:默认只显示倒数后十行内容,加数字同理。
六、echo 此命令用来写文件的
上述命令我们使用echo 把hello 写入到b.txt文件中去。
此时我们再次使用cat命令查看:
可以看到hello已经在b.txt这个文件中去了。
当时我们每次执行echo命令的时候,都会清除原来的内容。
可以看到hello已经被清除了,只剩下后面ehco的world了。
注意:echo和cat这样的命令,只是适用于对简单的文件进行操作,如果文件比较大和复杂,echo和cat就是不适合了。
-
七、mkdir 创建目录(文件夹)
1、创建单级文件夹:mkdir 文件夹名
此命令对标windows中的右键,新建文件夹。
我们执行mkdir ddd 之后,就已经创建好了一个目录。
2、创建多级文件夹:mkdir -p 一级/二级/三级/...
我们可以添加命令行参数 -p 当我们添加了命令号参数 -p 之后,系统会给我们自动的递归创建目录。
这个命令就是在当前目录下创建aaa目录,在aaa目录下创建bbb目录,在bbb目录下创建ccc目录。
八、rm remove 删除文件/目录
当我们在执行rm 的时候,指定了要删除的文件之后,系统会让我们确定是否删除。我们可以使用命令行参数 /r 进行递归删除
此命令在删除目录的时候,需要同时删除所有的文件和子目录。
这里的命令行参数 -rf 就是强制删除,不进行询问。
注意:在Linux中,没有回收站的概念,如果删除了,那么就是彻底的删除了。
根目录 / 是我们Linux中的最顶级节点了,如果把这个目录强制不询问的进行删除,那么这个Linux系统算是废了。彻底的废了。 慎用
-
九、cp copy 用于复制文件或者目录。
1、cp文件:cp 源文件地址/源文件名 目标地址/子文件名
当前目录下有一个 a.txt 文件,我们把这个a.txt文件复制一份同时改名为a1.txt。
cp 后面有两个参数,一个是源文件,一个是要往哪里去复制。
此处就是把a.txt复制一份,同时重命名为a1.txt。
2、cp 文件夹:cp -r 源文件夹地址/源文件夹名 目标地址/子文件名
cp 不光可以复制文件,还是可以进行目录的复制的。
需要注意的是,在复制目录的时候,必须要添加命令行参数 -r
我们现在把ccc目录同ddd目录下的文件复制到bbb目录中。
可以看到我们是把整个ddd目录都复制到bbb目录下。
十、mv 移动/剪切文件或者目录
1、mv 源文件地址/文件名 目标地址/子文件名
mv命令可以在进行移动的时候,去进行给目标文件设置名称(一边移动,一遍改名)。
2、用mv改名字:在本级下移动。
可以看到,如果是要移动的源和目标在一个目录下,这个时候就是单纯的改名字了。
我们也就是在移动的过程中进行改名操作。
上述操作就是我们把当前目录的a.txt文件剪切到ddd目录下,并重命名为a1.txt。
十一、vi进行文件的编辑
vi是Linux上自带的文本编辑器,相当于windows上的记事本。
vi的基本使用
打开文件、编辑文件、保存退出
上述的三个vi的操作是最基本的使用。
1:打开文件
使用vi 文件名/文件路径
当我们执行了上述命令时,系统就是使用vi打开这个文件。
2:编辑文件
在进行文件的编辑之前,我们先要知道vi的三种模式。
普通模式、插入模式、命令行模式
我们当打开的文件的界面,就是普通模式。在这个模式下,我们是无法进行数据的插入的。
要想进行数据的写入,必须切换成插入模式。要切换插入模式其实非常简单,只需要按键盘上的 i 键就好了。
可以看出当我们按了i键之后,下面就变为install。此时就是插入模式,我们就可以进行数据的写入了。
此时当我们把数据写入之后,该保存退出了。
3、保存文件
想要保存退出,就需要进入到命令行模式。
进入命令行模式,只需要按键盘上的esc键进行普通模式。然后再普通下输入:
现在就进入到命令行模式了。
然后我们在输入wq。wq也就是写入退出的意思。然后这个文件就成功的写入,并保存了。
然后此时我们在进行查看这个文件的内容:
可以能看到我们写入的数据了。
vi编辑器常用命令
进入后默认进入命令行模式,ioa任意键进入插入行模式,
c语言基本结构
#include<stdio.h> //头文件 (函数库:包含printf等函数)
int main() //主函数(有且仅有一个,是程序的入口)
{
printf("hello world"); //输出函数(printf("输出内容"):标准输出语句)
return 0; //在主函数内标志着主函数的结束;放在其他函数内表示返回值;
}
#include<stdio.h> //头文件 (函数库:包含printf等函数)
int main() //主函数
{
printf("hello world"); //输出函数
return 0; //返回值
}
1、命令行模式:
复制 yy
删除(剪切) dd
粘贴 p
撤销 u
反撤 ctrl r
光标移动首行 gg
光标移动首行 G
光标移动行首 0
光标移动行尾 $
整理代码格式 gg = G
2、插入模式:输入内容
i o a I O A任意按键可由命令行模式转换为插入模式
- 、底行模式:
插入模式按esc按键进入命令行模式,shift+:进入底行模式
指定行复制 5,10y 复制5-10行
指定行删除 5,10d
保存 w
退出 q
保存并退出 wq
强制 !
分屏 vsp
查找 /找的东西
替换 s/a1/a2 光标所在行的第一个a1替换成a2
s/a1/a2/g 光标所在行的所有a1替换成a2
%s/a1/a2/g 改变全文
1,$s/a1/a2/g 改变全文
设置行号 set nu
取消 set nonu
取消高亮 nohl
1、执行编译程序:
打开终端的方式:
直接点击
快捷键:ctrl shift +n 当前文件路径打开
ctrl alt +t 路径为家目录
简单编程步骤
- 新建文件 touch test.c
- 打开编译器 vi test.c 默认进入命令行模式
- #include<stdio.h> //头文件 函数库
int main() // 主函数 程序的入口
{
printf("hello world"); //标准输出语句
return 0; //主函数的结束
}
- gcc test.c //gcc编译文件 生成a.out 二进制可执行文件
- ./a.out //执行可执行文件
执行文件:gcc test.c 使用gcc编译文件,生成a.out的二进制可执行文件。(文件重写后a.out重新覆盖)
运行可执行文件:./a.out
2、可执行文件改名
预编译:gcc -E test.c -o test.i (-o 指定类型文件)
汇编:gcc -S test.i -o test.s()
:gcc -c test.s -o test.o (生成不可执行的二进制文件)
链接库文件:gcc test.c -o abc (生成可执行的二进制文件abc.out)