⭐Linux常用命令(Ubuntu)

⌨一、常用命令

命令功能
ctrl + alt+ T打开命令行终端
xrandr显示可调的分辨率
xrandr -s + 分辨率调整分辨率
ctrl + L清屏
ls列出当前文件夹下有哪些文件
ls - a显示所有文件,包括隐藏文件
vi 文件名.c + 回车创建C类型的文件
pwd显示当前所在路径
mkdir + 文件名新建一个文件夹(同Windows系统)
mkdir -p 父目录/子目录
rmdir 目录名删除目录,但该命令不能删除非空目录
rmdir -r 目录名删除目录,该命令可以删除非空目录
touch file1 file2新建文件(依次创建多个文件)
cat file1 file2将文件内容打印到标准输出中(依次打印多个文件),默认标准输出指向终端
cat -n file1-n:显示行号
gedit 文件名图形应用程序的编辑器
cd + 回车直接回到工作路径:/home/User
cd + 文件夹名称进入某个文件夹
cd …回退到上一级
TAB键补全文件名
man 函数名显示函数名的用法
man 2 函数名显示函数名的用法
mv *.c MyDocument把.c类型的文件移动到MyDocument文件夹下;
mv a.c b.c将a.c命名位b.c
cp b.c test.c把b.c 拷贝成test.c
cp a.out /mnt/hgfs/CodeFromWindows/把a.out传到Win系统中
ifconfigIP地址(Linux)
ipconfigIP地址(Windows)
ls -l列举文件的清单
ls -lh将文件大小以K(KB),M(MB),G(GB)来表示。
mv calculatorT.c ~将该文件移动到工作目录
cp ~/calculatorT.c .将该文件从工作目录移动到当前路径
cp -i file2 dira/如果目标目录下有与file2文件相同名字的文件,会有是否进行覆盖的提示
file 编译文件名查看编译文件的运行环境,如ARM、X86-64等…
scp -r 文件名 pi@192.168.43.30:home/pi将文件远程拷贝到其他主机,开发板用户名@开发板地址:开发板的绝对路径。
kill -9 进程的PID杀死该进程
grep gcc * -nirgrep gcc 在所有的文件当中去匹配gcc字段,*代表所有的文件,-nir:n显示行号,i不区分大小写,r是递归,一个目录一个目录找进去
rm -r wiringpi/删除多文件夹目录的时候就要用到-r
rmdir 目录名删除目录,但该命令不能删除非空目录
rmdir -r 目录名删除目录,该命令可以删除非空目录
history显示当前终端窗口用过的命令,
history |grep 匹配符显示所有敲过的带“匹配符”的历史命令
sudo apt-get install build-essential安装gcc编辑器
sudo apt-get install net-tools安装ifconfig
uname -r查看内核版本
while 指令whitch ls,查看ls指令所在目录
du 文件名计算文件大小(Kb)
gg=G整理代码格式
find -name 文件名查找文件
clearclear:刷新屏幕,保留历史命令操作记录。说明:此命令本质上只是让终端向后翻一页,当向上滚动鼠标时,还是可以看到之前命令的操作记录
reset重新初始化屏幕,清除历史命令操作记录

🌙二、命令详解

2.1 帮助命令

man,info,–help

2.1.1 man手册

1)简介

man手册一共有9册(页),每册对应相应的功能**(记住功能)**。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BHu0ZrqO-1630034916902)(image-20210824211654201.png)]

2)使用
  • ls 常用选项为-l、-a、-h
    可以通过man ls来查看这些选项的含义。
  • 举例:
    man man查看man手册的说明
    man ls当没有指定使用那一页,默认使用第1页man 1 ls
    man 1 gcc ,gcc是一个应用程序,在linux中一般使用gcc编译器来编译c/c++语言的程序open/write/ read/close等等都是系统调用
    man 2 open查看系统调用open的man手册说明

2.1.2 info

如:info ls

2.1.3 --help

如:ls --help

2.2 vi编辑器

2.2.1 一个编辑器具备的功能

1)打开文件、新建文件、保存文件

2)光标移动

3)文本编辑

4) (多行间|多列间)复制、粘贴、删除

5)查找和替换

2.2.2 vi编辑器的配置

cd /etc/vim
cp vimrc ~/ .vimrc
cd ~
gedit .vimrc

#在.vimrc中加入如下内容:
"关闭兼容功能
set nocompatible
"显示行号
set number
"编辑时backspace键设置为2个空格
set backspace=2
"编辑时tab键设置为4个空格
set tabstop=4
"设置自动对齐为4个空格
set shiftwidth=4
"搜索时不区分大小写
set ignorecase
"搜索时高亮显示
set hlsearch

2.2.3 vi编辑器的三种模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rCA0rbHd-1630034842701)(image-20210824213657718.png)]

1)—般模式(光标移动、复制、粘贴、删除)
2)编辑模式(编辑文本)
3)命令行模式(查找和替换)

2.2.4 常用命令

1)插入

​ “i”:在光标前插入
​ “a”:在光标后插入
​ “o”:换行并插入
​ “O”:在当前行之上新开一行

2)查找

“:/要查找的内容”

3)保存/不保存

“:wq”
“:w”
“:q!”:强制退出,不保存

4)光标的移动

在一般模式下,hjkl这四个按键就可以移动光标
H(左)
J(下)
K(上)
L(右)

文件头、文件尾、指定某一行
ngg光标移至第n行的行首(n为数字),
如:1gg就跳到第一行的行首,就是文件头如2gg就跳到第二行的行首
G转至文件结尾
注意: ngg和c是在一般模式

在某一行如何快速定位到某一列
0(数字零)光标移至当前行行首
∗ ∗ 光 标 移 至 当 前 行 行 末 ∗ ∗ f x ∗ ∗ 搜 索 当 前 行 中 下 一 个 出 现 字 母 x 的 地 方 ∗ ∗ 注 意 : 0 、 **光标移至当前行行末 **fx**搜索当前行中下一个出现字母x的地方 **注意:0、 fxx:0、fx是在一般模式

5)复制、粘贴、删除、撤销

yy复制当前行(y : yank(复制))
nyy复制当前行及其后的n-1行(n是教字)
使用P键来粘贴(p:paste)
dd删除光标所在行(d: delete)
ndd 删除当前行及其后的n-1行(n是教字)
u键来撤销上一步操作
x删除光标所在位置的字符
注意:yy/nyy/dd/ndd/x/u都是在一般模式下

6)查找和替换

/pattern从光标开始处向文件尾搜索pattern,后按下n或N注意:
n在同一个方向重复上一次搜索命令
N在反方向重复上一次搜索命令
注意:n或者N是(next)的意思

注意:在/pattern之前先跳到第一行则进行全文件搜索。

: %s/p1/p2/g将文件中所有的p1均用p2替换
: %s/pi/p2/gc替换时需要确认

s: substitute	#替换
g: global		#全局
c: confirm		#确认

2.3 进阶命令

2.3.1 find命令

**目的:**查找符合条件的文件
1)在那些目录中查找
2)查找的内容
**格式:**find 目录名 选项 查找条件

举例

  1. find /work/001_linux_basic/dira/-name "test1.txt"
    说明:
a) /work/001_linux_basic/dira/ 	指明了查找的路径
b) -name 						表明以名字来查找文件
c) "test1.txt"					就指明查找名为test1.txt的文件

同理:
find /work/001_linux_basicidira/ -name "*.txt"
是查找指定目录下面所以以.txt结尾的文件,其中*是通配符。

find /work/001_linux_basic -name "dira"
查找指定目录下面是否存在dira这个目录,dira是目录名

注意:
1)如果没有指定查找目录,则为当前目录。
find . -name "*.txt"其中**.**代表当前路径
find -name "*.txt",这两条命令作用一样

  1. find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件
    find /home -mtime -2,查找/home目录下两天内有变动的文件

2.3.2 grep命令

查找字符串时希望显示如下内容:
1所在的文件名----grep查找时默认已经显示目标文件名
2)所在的行号------使用-n选项

格式:
grep -rn "字符串" 文件名
r (recursive):递归查找
n (number) :显示目标位置的行号
字符串:要查找的字符串
文件名:要查找的目标文件,如果是*则表示查找当前目标下的所有文件和目录

举例:

grep -n "abc" test1.txt #在test1.txt中查找字符串abcgrep -rn "abc" *
grep -rn "abc" test1.txt #在当前目标递归查找字符串abc

注意:
1)可以加入-w全字匹配。

grep -rnw "abc" test1.txt

2.3.3 file命令

**目的:**识别文件类型格式:file文件名
linux下一切皆文件

举例:

file ~/ .bashrc 	#为ASCII 编码的text类型
file ~/ .vimrc 		#为UTF-8 Unicode编码的text类型
file ~/Pictures/*	#如图形文件JPEG/PNG/BMP格式
file ~/100ask/		#为directory表明这是一个目录
file /bin/pwd		#出现ELF 64-bit LSB executable,即为ELF格式的可执行文件
file /dev/*			#出现character specia?(字符设备文件)、block special(块设备文件)等

2.3.4 which和whereis

**目的:**查找命令或应用程序的所在位置
格式: which命令名/应用程序名

在终端上执行pwd实际上是去执行了/bin/pwd

举例:
which pwd,定位到/bin/pwd
which gcc,定位到/usr/bin/gcc
whereis pwd,查找到可执行程序的位置/bin/pwd和手册页的位置

dsk@dsk-machine:~/linux_driver_study$ which pwd
/bin/pwd
dsk@dsk-machine:~/linux_driver_study$ whereis pwd
pwd: /bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz

2.3.5 压缩

1. 压缩的概念
1)压缩的目的:
在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。接受者接受文件后,解压即可。
2)压缩的类型
有损压缩、无损压缩。
a)有损压缩:
如mp4视频文件,即使压缩过程中,减少了很多帧的数据,对观看者而言,也没有影响。当然mp3音乐文件也是有损压缩。
b)无损压缩:
如普通文件的压缩,为了保证信息的正确传递,不希望文件经过压缩或解压后,出现问题。

2.3.6 gzip、bzip2命令

小节:
单个文件的压缩(解压)使用gzip和bzip2多个文件和目录使用tar

gzip的常用选项
-l( list)列出压缩文件的内容
-k (keep)在压缩或解压时,保留输入文件.
-d (decompress)将压缩文件进行解压缩

1)查看
gzip -l压缩文件名
比如gzip -l pwd.1.gz

2)解压
gzip -kd压缩文件名比如:gzip -kd pwd.1.gz
该压缩文件是以.gz结尾的单个文件

3)压缩
gzip -k源文件名
比如: gzip -k mypwd.1
得到了一个.gz结尾的压缩文件

注意:
**1)**如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件,并删除原有的文件,所以说,推荐使用gzip -k来压缩源文件。

提示:
man pwd会解压/usr/share/man/man1/pwd.1.gz这个文件,
然后读取该文件中固定的格式的一些信息,然后显示到终端中。

bzip2的常用选项
-l( list)列出压缩文件的内容
-k (keep)在压缩或解压时,保留输入文件.
-d (decompress)将压缩文件进行解压缩

1)压缩
bzip2 -k源文件名
比如: bzip2 -k mypwd.1
得到一个.bz2后缀的压缩文件

2)解压
bzip2 -kd压缩文件名
bzip2 -kd mypwd.1.bz2

注意:
**1)**如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件,并删除原有的文件,所以说,推荐使用bzip2 -k来压缩源文件。
**2)**bzip2只能压缩单个文件,不能压缩目录。

单个文件的压缩使用gzip或bzip2,

压缩有两个参数:
**1)**压缩时间
**2)**压缩比
注意:一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。

tar命令的常用选项
-c (create)表示创建用来生成文件包
-x:表示提取,从文件包中提取文件
-t可以查看压缩的文件。
-z使用gzip方式进行处理,它与"c"结合就表示压缩,与"x"结合就表示解压缩。
-j使用bzip2方式进行处理,它与"c"结合就表示压缩,与"x"结合就表示解压缩。
-v(verbose)详细报告tar处理的信息
-f(file)表示文件,后面接着一个文件名。
-C<指定目录>解压到指定目录
  1. tar打包、gzip压缩
    1)压缩
    tar -czvf压缩文件名目录名
    如:

    tar -czvf dira.tar.gz dira
    

    注意:
    tar -czvf与tar czvf是一样的效果。
    2)查看
    tartvf压缩文件名
    如:

     tar -tvf dira.tar.gz
    

    3)解压
    tar xzvf压缩文件名
    tar xzvf压缩文件名-c指定目录

    如: tar xzvf dira.tar.gz					#解压到当前目录
    如: tar xzvf dira.tar.gz -C /home/book	#解压到/home/book
    
    1. tar打包、bzip2压缩

      1)压缩
      tar -cjvf压缩文件名目录名
      如:

      tar -cjvf dira.tar.bz2 dira
      

      2)查看
      tar tvf压缩文件名
      如:

      tar -tvf dira.tar.bz2
      

      3)解压
      tar xjvf压缩文件名
      tar xjvf压缩文件名-c指定目录

      如: tar xjvf dira.tar.bz2				#解压到当前目录
      如: tar xjvf dira.tar.bz2 -C /home/book #解压到/home/book
      

参考资源链接——韦东山老师的嵌入式Linux:https://edu.51cto.com/center/course/lesson/index?id=579155

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值