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); //刷新显示的缓冲区