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

相关推荐
Spring_java_gg3 分钟前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
✿ ༺ ོIT技术༻4 分钟前
Linux:认识文件系统
linux·运维·服务器
恒辉信达5 分钟前
hhdb数据库介绍(8-4)
服务器·数据库·mysql
会掉头发32 分钟前
Linux进程通信之共享内存
linux·运维·共享内存·进程通信
我言秋日胜春朝★34 分钟前
【Linux】冯诺依曼体系、再谈操作系统
linux·运维·服务器
饮啦冰美式1 小时前
22.04Ubuntu---ROS2使用rclcpp编写节点
linux·运维·ubuntu
wowocpp1 小时前
ubuntu 22.04 server 安装 和 初始化 LTS
linux·运维·ubuntu
wowocpp1 小时前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
wclass-zhengge1 小时前
Netty篇(入门编程)
java·linux·服务器