Linux命令指令

Linux命令指令

1、目录结构及文件

2、Linux命令

平常通过图形界面能够实现的功能,通过命令基本上都可以实现

1》命令的格式

命令 选项 参数

ls -a -l -h

rm -r -f a.txt b.txt

2》命令帮助信息

命令 --help

注意:并不是所有的命令都有帮助信息 pwd就没有

3》man命令

man是Linux提供的一个手册,这个手册有很多个章节

第一章中放的是 命令 的帮助信息

第二章中放的是系统调用(操作系统提供的函数 open)

第三章中放的是库函数(c库提供的函数 printf)的帮助信息

用法:

man 章节 查找信息

man 1 ls
在这里插入图片描述

man 2 open

在这里插入图片描述

man 3 printf

在这里插入图片描述

注意:如果有命令和系统调用及库函数同名的话,在各个章节中找就行

注意:命令中间的章节可以没有,如果没有的话,就从第1章开始往后找,直到找到或者找完。 man ls
在这里插入图片描述

4》命令常用的技巧

1.自动补全

输入命令的一部分,然后按tab键,就自动补全命令,如果有多个相同开头的命令

多按一次tab键,他会将所有的以你输入开头的命令提示出来

用于复制
例子:ifconfig

输入 if 按两下tab键

输入ifc按tab键
在这里插入图片描述

注意:目录或文件的名字 也可以自动补全

在当前目录下有个文件夹叫zhaoxiutao

我要删除文件夹得话

rm zhao

然后按tab键就可以补全目录
在这里插入图片描述
2.历史命令
可以按 上下键 将以前输入的命令调出来,敲回车执行或者修改之后敲回车执行

3.重定向

命令 > 目的文件

本来输出到屏幕上的数据,重定向输出 到了 目的文件中

4.管道

一个程序的输出 作为另外一个程序的输入

5》ls tree clear

1.查看目录下的信息

ls -a -l -h /

[外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imblog.csdkg.cn/202QmhO10406094112935.1544)(http s://img-blog.csdnimg.cn/20210406094112941.png)]

2.tree 以树状结构显示目录信息

系统默认没有这个命令,需要安装 sudo apt-get install tree

用法: tree -L 层数

tree -L 3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.clear 清屏


6》cd pwd

cd :change directory 改变目录的意思

绝对路径:

从根目录(最顶层目录开始的路径)

/home/teacher/xiutao/test

/home/teacher/test.txt

相对路径:

相对当前路径下的那个路径

./xiutao/test

./xiutao/test.c

当前目录 .

上一级路径 …

cd /home/teacher/xiutao

如果我的工作路径在teacher

cd ./xiutao 或者 cd xiutao 也是可以的

cd - 回到刚才所在的路径(相当于windows下的后退)
在这里插入图片描述

cd 两个点 切换到上一级路径(相当于windows下的返回上一级)
在这里插入图片描述
在这里插入图片描述

cd ~ 回到家目录下
在这里插入图片描述

7》cat rm cp mv

使用方法 :cat 文件路径或名称
详细介绍:link

cat test.txt

cat /home/teacher/test.txt

2.rm 是remove的意思,移除 即删除的意思

rm 选项 文件夹或文件的路径或名称

rm test.c

rm -rf xiutao

rm -rf /home/teacher/xiutao

注意:选项 -rf可以没有,但是删除文件夹的时候必须带-r

-f的意思是强制删除,即使要删除的文件或文件夹不存在也不报错

3.cp 是copy 复制的意思

cp 选项 源文件或文件夹路径或者名称 目的路径

cp -r -v test.txt /home/teacher/xiutao
将当前目录下的test.txt 文件拷贝到/home/teacher/xiutao 目录下

注意:cp后面可以加选项

拷贝文件夹的时候必须加-r ,

-v显示拷贝进度

4. mv 是move 是移动的意思,即剪切的意思

使用方法:

mv 选项 要剪切的文件或目录 目的路径
mv -v test.txt /home/teacher/xiutao
注意:
如果源文件和目的路径在同一个路径下,相当于重命名
mv test.txt test2.txt
相当于给test.txt 重命名为test2.txt

在这里插入图片描述
在这里插入图片描述

2.pwd 查看当前的工作路径

7》mkdir touch

1.mkdir 创建文件夹

例子:mkdir xiutao
注意:如过递归创建的话,需要加-p
mkdir -p xiutao/yunfeng/xuegang/lize
所在的目录必须可写,即允许创建文件夹

在这里插入图片描述

2.touch 创建文件

touch test.txt

在这里插入图片描述

8》find:在指定路径下查找指定文件

用法:find 路径 -name 文件名
find /home/teacher -name xuegang.txt
在 /home/teacher 下及其子目录下找 xuegang.txt

在这里插入图片描述

9》grep:在指定文件中查找指定内容

用法:grep 查找信息 文件名 参数-n 显示行号
grep hello /home/teacher/test.txt -n
意思是在/home/teacher/test.txt文件中找 hello字符串,显示出来并带行号

2:在某个路径及其子目录下的所有文件中查找字符串

grep hello /home/teacher/* -R -n

在/home/teacher/ 下的文件及其子目录下文件中查找hello字符串

注意:必须加 -R 递归查找子目录,-n是用来控制显示行号

在这里插入图片描述

10》ln:创建链接文件(快捷方式)

ln 源文件名字 连接文件(快捷方式)的名字 -s
ln test.txt test2.txt
注:test2.txt 就是test.txt 连接文件(快捷方式)

在这里插入图片描述

在这里插入图片描述

下面这个比较经常用
11》tar:压缩与解压缩命令
详解
link
gzip格式:

1.压包(打包)

压缩用法:tar zcvf 压缩包包名 文件1 文件2 …
tar zcvf bk.tar.gz a.c b.txt xiutao test.txt
将a.c b.txt xiutao test.txt 文件或文件夹压缩到 bk.tar.gz中

2.解压

解压方法1:tar zxvf 压缩包的名称
解压到当前目录
tar zxvf bk.tar.gz
解压方法2:tar zxvf 压缩包的名称 -C 目的路径
解压到指定路径下
tar zxvf bk.tar.gz -C /home/teacher/share
将压缩包里的文件或文件夹 解压到/home/teacher/share目录下

注意:gzip格式的压缩包后缀名.tar.gz结尾

bz2格式:

1.压包

2.解压

创建文件夹、创建文件、删除文件或文件夹、目录切换、查看ip地址

3、编辑器之神 —vi

1.安装vim(vi升级版)

1》安装vim

sudo apt-get install vim

2》安装ctags

sudo apt-get install ctags
在这里插入图片描述

3》配置vim

step1:将vim_configure拷入当前用户的目录下

使用samba或共享文件夹完成

step2:打开终端,执行以下以下命令:

cd vim_configure

./copy_con.sh

2.vi 的使用

使用vi打开文件

vi filename:

打开或新建文件,并将光标置于第一行行首

vi test.txt

vi +n filename:

打开存在文件,并将光标置于第n行

vi +8 test.txt

在这里插入图片描述

三大模式:

1)vi插入模式

这种模式可以直接编辑文档…

注意:vi创建一个不存在文件时(.c文件可以,txt不可以),默认进入插入模式

2)vi编辑模式

vi打开一个已经存在文件时,默认进入编辑模式

在此模式下可进入插入模式、控制屏幕光标的移动、进行文本的选择、复制、粘贴、剪切、删除、查找等工作。

3)vi最后一行模式(命令模式)

在编辑模式下,按shift+:进入

跟编辑模式类似,完成存盘、另存、查找等任务
在此模式下可以保存文件,退出vi 等功能

2)模式切换

1)由编辑模式切换到插入模式

i 从光标当前位置开始插入

o 在光标位置的下行插入一个空行,再进行插入

由编辑模式切换到命令模式

shift + :

由插入模式、命令模式切换到编辑模式

esc

3)插入模式与命令模式不能直接转换

在编辑模式下按 shift : 进入 最后一行模式

在最后一行模式下的命令

:w 保存文件

:wq 保存文件并退出vi

:x 保存文件并退出vi

:q! 不保存文件,强制退出vi

:w filename 另存为filename

4:由命令模式(最后一行模式)也可以进编辑模式

按ESC

总结:

1、由 插入模式或者命令模式(最后一行模式) 进编辑模式 方法是按ESC键

2、由编辑模式 进 命令模式(最后一行模式) 按 shift :

3、由编辑模式进 插入模式 按 a i o

4、插入模式和命令模式(最后一行模式)不能直接切换

编辑模式下的操作:

1、 u 撤消前面多次修改。

2、[n]x 删除光标后n个字符。

3x

3、[n]X 删除光标前n个字符。

6X

4、[n]dd 删除从当前行开始的n行。

4dd

5、[n]yy 复制从当前行开始的n行。

4yy

6、 p 把粘贴板上的内容插入到当前行。

7、 . 执行上一次操作

8、shift +zz(按住shift按两下z键) 保存退出当前文件

编辑模式下移动光标

[n]G:将光标定位到第n行开始处

5G 将光标移动第5行开始处

G: 将光标定位到文件结束处

gg:将光标定位到文件开始处

编辑模式下的查找

/字符串:从光标开始处向文件尾查找字符串。

n:同一方向重复上一次查找命令。

N:反方向重复上一次查找命令

:nohls 取消高亮

:set hls 设置高亮

4、编译器 gcc

在windows操作系统下,编译工具用集成开发环境 vc6.0

在Linux操作系统下没有很好的集成环境让我们用,用的编译器是gcc

程序的编译分为四个阶段: 由.c 到可执行程序

1、预编译

2、编译

3、汇编

4、链接

编译程序:

1、一步到位

gcc hello.c -o hello

运行程序:./hello

2、分步骤完成

例2:分步进行

gcc -E hello.c -o hello.i 1、预处理

gcc -S hello.i -o hello.s 2、编译

gcc -c hello.s -o hello.o 3、汇编

gcc hello.o -o hello_elf 4、链接

下面是我们老师写的一些笔记:

【1】Linux系统的由来
	Ubuntu(个人使用)   redhat(服务器使用)   Android
	           linux内核                    	   
	windows
		NT内核
	
	macOS   iPhone
	    unix
	  
【2】Ubuntu系统如何安装
	windows中安装虚拟机vmware workstation
	在window中虚拟一个linux系统能运行的环境
	通过虚拟机来运行ubuntu系统即可。
	
【3】如何使用Ubuntu
	打开终端:点击Terminal图标
	        :ctrl+Alt+t
	调节终端字体的大小:
		调大:ctrl+shift+"+"
		调小:ctrl+"-"

	终端上显示的内容:
	linux     @     ubuntu  :      ~     $-普通用户
	 |        |       |     |      |
  whoami      |    hostname |    /home/linux
	 |        |       |     |      |
   用户名   分隔符  主机名  分割符 路径
		
	$:普通用户
	#:超级用户

	使用"su  用户名"可以切换普通用户和超级用户

	[1]ls命令
		作用:查看当前目录下的文件
		
		ls(空格)参数
		
		ls -l :查看文件及文件的属性信息
		属性信息如下:(linux系统一切皆文件)
		d:目录  bsp-lcd 七种文件的类型
			-:代表普通文件
			d: 代表的是目录
			c: 字符设备驱动文件
			b:块设备驱动文件
			s:套接字文件(和网络相关的文件)
			p:管道文件
			l:类似于windows中的快捷方法
			
		rwxrwxr-x  :权限
			r :读 4   w:写 2  x:可执行 1  -:无权限 0
			rwx 用户的权限
			rwx 组的权限
			r-x 其他用户的权限
			
			0775 :八进制
			0642
			rw-r---w-
			
			通过chmod可以修改上述的权限:
			chmod  八进制的权限  文件名
			
			
		3 :如果是目录代表的是子目录的个数
		  :如果是文件代表的是别名的个数
		linux :用户
		linux :组名
		4096  :大小
		May 15  2018 :创建的日期
		bootloader:文件名


		ls -lh
		显示文件属性的同时将文件的大小转化成对应的单位

		ls -a
		显示所有的文件,包括隐藏文件
		
	[2]cd命令
		作用:切换目录的命令
		
		cd 目录名
		
	
		cd 相对路径的目录名
		cd ./     进入当前路径
		cd ./aaa/ 进入当前路径下的aaa路径中
		cd ../    进入到上一级路径
		cd ../home/linux 
		cd ../../ 进入到上上一级路径
		
		cd 绝对路径的目录名
		cd /home/linux
		cd /etc/
		cd /usr/
		
		cd 的特殊用法
		cd 或者 cd ~ 回到家目录
		cd -         切换到上一次操作的目录下
		cd /         切换到根路径
			
		cd ../../etc/
	
	[3]pwd命令
		显示当前的位置的命令
		
	
	[4]clear命令
		清除当前屏幕显示的内容
		ctrl+l:清屏
	
	[5]touch命令
		创建文件
		
		touch  文件名
		作用:如果文件不存在,创建文件
		    :如果文件存在,更新文件的时间戳,文件中的内容不会被更改
			
			
		touch 文件1  文件2   文件3 ...
		作用:touch同时创建多个文件
			
	
		要求:
			1.请在用户的家目录下创建一个test.c的文件
			2.请在home目录下创建一个list.txt的文件
	
			修改root用户密码的命令:
			sudo passwd root
			123456
			1
			1
			
			1.切换到root用户,让以后所有的操作具备root的权限
			su  root
			
			2.sudo touch list.txt
			在执行touch命令的时候临时具备root的权限
	
	[6]mkdir命令
		作用:创建目录
		
		用法:mkdir 目录名
		
		mkdir  目录名1   目录名2 ...
		同时创建多个目录
		
		mkdir -p 目录1/目录2
		创建具备层级关系的目录
		
		练习:
			1.在用户的家目录下创建一个zq
			2.在zq目录下创建一个系的目录
			3.在系目录下创建一个自己名字命名的文件.c
		
	[7]rm命令
		作用:删除
		rm 文件名
		rm  -rf 目录 (-r递归删除  -f强制删除)
		
		sudo rm 文件名
		sudo rm  -rf 目录 (-r递归删除  -f强制删除)
		
		rm *.c  删除所有以.c结尾的文件
	[8]cp命令
		作用:拷贝
		cp  文件   路径     //将文件拷贝到对应的路径下
		cp  目录   路径  -r //将某个目录拷贝到对应的路径下
		
		例如:
		cp /etc/passwd  ~   //将etc下的passwd文件拷贝到家目录下
		
		
		要求:将家目录下的test.c文件拷贝到共享目录下
		
	[9]mv命令
		作用:移动/重命名
		移动:
		mv  文件/目录   路径   //移动(路径存在)
		重命名:
		mv  文件名  新文件名  重命名文件
		mv  目录    路径      重命名目录(路径不存在)
	[10]tar命令
		作用:打包(压缩)/拆包(解压缩)
		-c :打包
		-x :拆包
		-v :显示过程
		-f :后跟指定的文件名
		-z :.gz
		-j : .bz2
		-J : .xz
		
		压缩速率: gz>bz2>xz
		压缩率:xz>bz2>gz
		
		打包/拆包的使用
			tar -cvf zq.tar zq/   //将zq目录创建成zq.tar的文件
								  //-f在最后的不能和cv换位置
			tar -xvf zq.tar      //拆包					  
		打包压缩/拆包解压
			tar -cvzf zq.tar.gz zq //将zq打包并压缩成.gz格式
			tar -xvzf zq.tar.gz    //将zq.tar.gz拆包并解压
			tar -cvjf zq.tar.bz2 zq //将zq打包并压缩成.bz2格式
			tar -xvjf zq.tar.bz2    //将zq.tar.bz2拆包并解压
			tar -cvJf zq.tar.xz zq //将zq打包并压缩成.xz格式
			tar -xvJf zq.tar.xz    //将zq.tar.xz拆包并解压
		万能拆包解压工具:
			tar -xvf zq.tar.xx    //将zq.tar.gz拆包并解压
		
【4】共享目录的创建
	D:\share    /mnt/hgfs/share/
	windows     Ubuntu
		 共享目录
		
	作用:实现windows和Ubuntu之间的文件传输	
		
	创建共享目录的方法:
		在vmware中找到->虚拟机->设置->选项->
		共享文件夹->总是启用
	问题:上述不能够启用共享文件夹
	解决办法:
		虚拟机->更新vmware tools->点击后出现->DVD图标
		->点击DVD图标-->xxxx.gz->右键-->copy to desktop
		-> VMwareTools-10.3.10-13959562.tar.gz
		
		解压上述的压缩包
			tar -xvf  VMwareTools-10.3.10-13959562.tar.gz
		解压后产生
			vmware-tools-distrib
		进入这个目录
			cd vmware-tools-distrib
		执行:(遇到的所有的问题,按下回车即可)
			sudo ./vmware-install.pl

		
		要求:
			1.将etc下的passwd文件拷贝到zq()
				cp /etc/passwd ~/zq/
			2.将etc下的groff拷贝到zq
				cp /etc/groff ~/zq/ -r
			3.将zq目录拷贝到共享目录下
				cp ~/zq /mnt/hgfs/share/ -r




【1】复习
	命令的复习:
	打开终端      ctrl+alt+t  
	再次打开终端:ctrl+shift+n
	退出终端:    exit
	调大字体:    ctrl+shift+"+"
	缩小字体:    ctrl+"-"
	查看当前用户:whoami
	查看主机名:  hostname
	切换用户:    su 用户名   //$ edu   # root
	修改密码:    sudo passwd 用户名
	查看文件的名:ls | ls -l | ls -lh |ls -a
	文件类型:    bsp-lcd
	文件权限:    r 4  w 2  x 1 - 0   (r---w-rwx) 0427
	修改文件权限:chmod 0775 文件
	切换目录:    cd | cd 绝对路径|cd 相对路径|cd /|cd ~|cd ../|cd -
	新建文件:    touch  文件名
	新建目录:    mkdir  目录名|mkdir 目录1/目录2 -p
	删除命令:    rm 文件名|rm 目录名 -rf|rm *.c
	拷贝命令:    cp 文件  路径|cp 目录  路径  -r或-a
	移动命令:    重命名:mv 旧名 新名|移动:mv 文件/目录  路径
	打包/压缩:   tar  -czvf xxx.tar.gz xxx
				  tar  -xvf  xxx.tar.gz
	                -c 打包
					-x 拆包
					-v 显示过程
					-f 跟的文件名
					-z 进行.gz
					-j 进行.bz2
					-J 进行.xz
	
【2】vim的使用
	vim是一个代码的编辑器,是Ubuntu自带的一个开发软件,
	它也是一个开源的软件。
	
	vi  文件名
	vim 文件名
	
	vim有三种模式:
	命令行模式:
		使用vim打开一个文件的时候,默认就处在命令行模式。
		如果你不知道自己在那个模式下,按下键盘的Esc按键,
		它就能够从任意模式回到命令模式
		拷贝:yy  拷贝一行
		      nyy 拷贝n行
			  鼠标选中想要拷贝的行,按下键盘的y
		剪切:dd  剪切一行
		      ndd 剪切n行
			  鼠标选中想要剪切的行,按下键盘的d
		粘贴:p
		撤销:u
		反向撤销:ctrl+R
		
	插入模式:
		如果想从命令行模式进入到插入模式,需要按下键盘的i键
		在这个模式下就可以编写自己的代码了。
		Inc <Tab>  ====>#include <stdio.h>
		main <Tab> ====>补全整个的main函数
		if   <Tab> ====>补全if语句
		while <Tab>====>补全while语句
		for   <Tab>====>补全for语句
		funh  <Tab>====>补全函数注释

	底行模式:
		从命令行模式进入底行模式的方式,按下键盘的shift+":"
		在底行模式中
		:w  保存
		:wq 保存退出
		:q  退出
		:q! 不保存退出
		:wq!强制保存退出
	
	
	
	
【5】\n和\r的区别
	'\n' 换行,刷新缓冲区
	'\r' 回滚当行首, fflush(stdout); //刷新显示的缓冲区  
	
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值