Ubuntu终端指令

目录

一、基本指令

1.命令行提示符

2.切换用户

3.修改密码

4.查看当前目录下的文件

5.修改文件权限---chmod

[6.cd 切换路径](#6.cd 切换路径)

7.touch

8.cat

9.echo

10.mkdir

[11. rm/rmdir](#11. rm/rmdir)

二、在线下载软件

1.更新软件源

2.更新软件列表

3.下载软件

三、离线安装软件

[1. 软件安装包的命名](#1. 软件安装包的命名)

2.离线安装软件的指令

四、文件相关的指令

1.head

2.tail

[3.管道符 |](#3.管道符 |)

4.find**

5.通配符

[6.file ---->查看文件](#6.file ---->查看文件)

[7.wc ----->(word count)](#7.wc ----->(word count))

[8.查找字符串 ---->grep](#8.查找字符串 ---->grep)

练习:

[9.cut ----->字符串裁剪](#9.cut ----->字符串裁剪)

10.压缩和解压缩

[11.tar 文件归档并压缩](#11.tar 文件归档并压缩)

i)归档

ii)拆包并解压缩

五、文件权限相关的操作

[1.chgrp --->修改文件的所属组用户](#1.chgrp --->修改文件的所属组用户)

[2.chown --->修改文件的所属用户](#2.chown --->修改文件的所属用户)

练习:


一、基本指令

1.命令行提示符

ubuntu@ubuntu:~$

ubuntu:用户名

@:分隔符

ubuntu:主机名

~:家目录(当前所在的路径)

$:普通用户权限 root : #

2.切换用户

su 用户名 ----->切换到指定用户

su ----->默认切换到超级用户

sudo 加在指令前 ----->用超级用户的权限执行后的指令

3.修改密码

passwd 用户名 ----->修改指定用户的密码

普通用户修改管理员用户的密码需要加sudo

输入的密码不会回显

4.查看当前目录下的文件

ls 目标路径 ------->回显指定路径下的所有文件名

ls 目标文件 ------->回显文件名

ls -a ---->查看所有文件,包括隐藏文件,.开头的都是隐藏文件

ls -lh ---->查看文件的详细信息,给文件的大小带单位的显示

ls -i ---->显示文件的inode号

-rw-rw-r-- 1 ubuntu ubuntu 4549 八月 22 14:51 test.s

文件类型:7种

b:块设备文件 -:普通文件

c:字符设备文件 l:软连接文件

d:目录文件 s:套接字文件

p:管道文件

rw-rw-r--

r:可读 w:可写 -:没有权限 x:可执行权限

八进制数表示文件权限:

r:4 w:2 x:1

5.修改文件权限---chmod

字母表示法:

chmod 用户+/-/=权限的字母表示 文件名

八进制表示法:

chmod 0三位八进制数 文件名

chmod 4 1.c ------> 把1.c的其他用户权限改为4,所属组和所属用户没有权限

**6.**cd 切换路径

cd ---->默认切换到当前用户的家目录

超级用户的家目录:在根目录下 /root

7.touch

创建文件 touch 文件名

1、文件本身不存在,创建该文件

2、文件已经存在,更新文件的时间戳

8.cat

cat 文件名

回显文件的内容

9.echo

echo 字符串 ------>回显一遍字符串

10.mkdir

mkdir /dir1/dir2/dir3 -p 实现多级目录的创建

11. rm/rmdir

rmdir 空目录 ----->删除空目录

rm -r 非空目录 ----->删除非空目录

二、在线下载软件

1.更新软件源

更新成国内的软件源:清华源、阿里源、163源、中科大源····

去网页搜:ubuntu的软件镜像源

清华源:ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorubuntu 使用帮助 | 镜像站使用帮助 | 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

先备份一份原有的源,但是大家的都备份好了,不需要自己备份了

/etc/apt/sources.list

ls /etc/apt ---->sources.list.save

2.更新软件列表

sudo apt-get update ------>让Ubuntu连接到国内的镜像源网站

如果报以下错误,把https改成http就可以了

3.下载软件

cpp 复制代码
sudo apt-get install 软件名   ---->下载软件
sudo apt-get install oneko   --->追鼠标的猫
sudo apt-get install bastet  --->俄罗斯方块
下载软件后,如何执行:
直接在终端输入软件名
以oneko为例,直接输入软件名,会在前台执行,没有办法去写其他的指令
oneko&  ---->让onkeo后台运行,会回显一个进程号
可以直接使用kill -9 进程号,杀死进程
sudo apt-get install gnome-mines   ---->下载扫雷
sudo apt-get remove 软件名  --->卸载软件,不完全卸载
sudo apt-get remove 软件名 --purge  --->卸载软件,完全卸载
sudo apt-get download 软件名  --->下载软件的安装包
download指令会把安装包下载在执行指令的路径下
sudo apt-get clean  ---->清空默认下载位置的安装包
/var/cache/apt/archives/  ---->软件包的默认下载位置

sudo apt-get install make

三、离线安装软件

离线安装软件不会检查软件依赖,也不会自动下载软件依赖,对于需要软件依赖的软件进行离线安装会报错

在线安装软件,会检查软件依赖,并主动安装软件依赖

sql---->离线安装会报错

1. 软件安装包的命名

2.离线安装软件的指令

dpkg ----->debian package的缩写

cpp 复制代码
下载:sudo dpkg -i 软件包名 (重点掌握)
注意事项:如果执行指令的路径和安装包不在同一路径下,要给安装包加上路径
卸载:sudo dpkg -r 软件名     ---->不完全卸载软件
     sudo dpkg -P 软件名     ---->完全卸载软件

四、文件相关的指令

1.head

cat 文件名 ----->查看文件中的所有内容

head 文件名 ----->默认回显文件的前10行

head -n 文件名 ----->指定回显文件的前n行

2.tail

tail 文件名 ------>回显文件的后10行

tail -n 文件名 ----->回显文件的后n行

head和tail,默认显示前10行和尾10行,如果不足就全部显示,

如果超过10行,只显示10行

**3.**管道符 |

指令1 | 指令2 | 指令3 | ·····

把前一条指令的输出当作后一条指令的输入

例:

cpp 复制代码
查看1.c文件的第4行:
    head -4 1.c | tail -1

4.find**

通常使用find查找文件,结果都是绝对路径

cpp 复制代码
格式:
find 要查找的路径 -name 要查找的文件名

find可以实现模糊查找,已经不记得具体的文件名,只记得部分文件名
已知文件以1开头,.c结尾,不知道具体的文件名
find 目标路径 -name  1\*.c

find的使用场景:
在项目开发的过程中,多个文件中某一个文件报错,可以使用find以及文件名,快速找到文件的位置

5.通配符

cpp 复制代码
*:可以任意通配一个或多个字符
?:通配任一个字符,如果想使用?通配多个字符,多加几个?,有几个匹配几个
[]:通配[]内的任一个字符
[1234]:通配1234中的任一个字符
[2-5]:通配2-5中的任一个字符
[12347-9]:通配1234和7-9中的任一个字符
[1234,7-9]:通配1234、7-9和,中的任一个字符   

6.file ---->查看文件

cpp 复制代码
a.out:文件名 
ELF:是一个ELF类型的文件
64-bit:支持64位操作系统
LSB shared object:小端存储
x86-64 ----->架构
version 1 (SYSV) ---->版本
dynamically linked, interpreter /lib64/l, --->链接的库
for GNU/Linux 3.2.0  ---->gcc编译器的版本
BuildID[sha1]=60b94b36154878cc979cc2aae1af6e92a45f044f, ---->动态ID
not stripped  ---->文件没有被压缩过

7.wc ----->(word count)

wc 文件名

回显行号,单词个数,字符个数,文件名

wc -l 文件名 ---->回显文件的行数

wc -w 文件名 ---->回显文件单词的个数

wc -c 文件名 ---->回显文件字符的个数

8.查找字符串 ---->grep

cpp 复制代码
grep  "要查找的字符串"  要查找的路径  (参数)
-n:查找的同时显示字符串所在行
-i:不区分大小写
-R:递归查找   ---->只用于目标路径是目录不是文件
-w:按单词查找 

grep "ubuntu$" 文件名   ---->查找以ubuntu作为结尾的所在行
grep "^ubuntu" 文件名   ---->查找以ubuntu作为开头的所在行
grep "^ubuntu$" 文件名   ---->要求开头和结尾是同一个ubuntu

练习:

1、查找/etc/passwd中Ubuntu用户所在行,并显示行号

grep "^Ubuntu" /etc/passwd -ni -----"^"的作用:

查找以指定单词为开头的所在行

2、查找/etc/passwd中sys用户所在行,并显示行号

grep "sys" /etc/passwd -niw

3、查找/etc/group中Ubuntu组所在的行,回显行号

grep "^ubuntu" /etc/group -n

9.cut ----->字符串裁剪

cut -d "分隔" -f "要截取的域" 文件名

cut -d ":" -f "1" /etc/passwd

截取/etc/passwd中,所有以":"分隔的,第一个域

10.压缩和解压缩

压缩和解压缩后源文件都不存在

gz ---->压缩生成.gz后缀的文件

xz ---->压缩生成.xz后缀的文件

bz2 ---->压缩生成.bz2后缀的文件

gzip 要压缩的文件

bzip2 要压缩的文件

xz 要压缩的文件

解压缩

unxz 要解压缩的文件 ---->把压缩文件解压出来,压缩文件.xz会消失

gunzip 要解压缩的文件

bunzip2 要解压缩的文件

三种压缩工具的压缩效率:xz > bz2 > gz

三种压缩工具的压缩时长:xz > bz2 > gz

xz需要时间更长,适用于对文件归档

gz需要时间更短,适用于临时文件传输

11.tar 文件归档并压缩

归档和拆包后源文件仍然存在

i)归档

把多个文件打包生成一个文件

tar -cvf 要生成的文件名.tar 要打包的文件

-c:归档/打包的参数

把要打包的文件生成一个新的文件.tar

tar指令提供的压缩参数:

-j:使用bz2工具压缩

-J:使用xz工具压缩

-z:使用gz工具压缩

tar -czf 生成的文件名.tar.gz 要打包并压缩的文件

tar -cjf 生成的文件名.tar.bz2 要打包并压缩的文件

tar -cJf 生成的文件名.tar.xz 要打包并压缩的文件

ii)拆包并解压缩

tar -xvf 要拆包(解压缩)的文件 ---->既可以完成拆包也可以完成解压缩

万能的拆包解压缩指令

仍然可以使用对应的压缩参数进行解压缩,-j、-J、-z

注意:

有万能的拆包指令,但是没有万能的归档并压缩指令

所以在进行归档并压缩时,压缩工具和压缩生成的文件后缀必须严格一致

五、文件权限相关的操作

1.chgrp --->修改文件的所属组用户

由于现在都是在ubuntu用户和root用户之间转换,所以需要加sudo,如果是两个普通用户之间的转换不需要加sudo

例:有文件2.c

sudo chgrp root 2.c --->把2.c文件的所属组用户改为root

2.chown --->修改文件的所属用户

由于现在都是在ubuntu用户和root用户之间转换,所以需要加sudo,如果是两个普通用户之间的转换不需要加

sudo sudo chown root: 1.c 修改1.c的所属用户和所属组用户为root

sudo chown :root 1.c 修改1.c的文件所属组用户为root

sudo chown root 1.c 修改1.c的所属用户为root

sudo chown ubuntu:root 1.c 修改1.c的文件所属用户为ubuntu,所属组用户为root

练习:

使用cut截取出Ubuntu用户的家目录,要求:不能使用":"作为分割

ubuntu@ubuntu:etc$ cut -d "/" -f "2" passwd

相关推荐
zzzzzz3102 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz6 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工6 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智6 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_6 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化