Ubuntu终端指令

目录

目录

一、基本指令

1.命令行提示符

2.切换用户

3.修改密码

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

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

6.cd 切换路径

7.touch

8.cat

9.echo

10.mkdir

11. rm/rmdir

 二、在线下载软件

1.更新软件源

 2.更新软件列表

3.下载软件

三、离线安装软件

1. 软件安装包的命名

 2.离线安装软件的指令

四、文件相关的指令

1.head

 2.tail

 3.管道符   |

4.find**

5.通配符

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

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

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

练习:

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

10.压缩和解压缩 

11.tar 文件归档并压缩 

i)归档

 ii)拆包并解压缩

五、文件权限相关的操作

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

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

六、创建链接文件 

1.创建硬链接文件 ln

 2.创建软链接文件 ---->ln -s

七、用户相关的操作 

1.新建用户

2.给新用户添加sudo权限      

3.删除用户

4.usermod ---->修改用户的信息

八、磁盘相关的操作

1.让U盘链接到虚拟机

i)方法1:通过弹窗让U盘链接到虚拟机

ii)方法2:通过虚拟机设置的菜单栏

2.检查U盘是否被ubuntu识别

3.磁盘分区

4.对分区格式化---->mkfs

5.磁盘的挂载 ---->mount

常见的问题:

练习:


一、基本指令

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 协会负责运行维护。icon-default.png?t=N7T8https://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.下载软件

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的缩写

下载: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 | ·····

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

例:

查看1.c文件的第4行:head -4 1.c | tail -1

4.find**

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

格式:
find 要查找的路径 -name 要查找的文件名find可以实现模糊查找,已经不记得具体的文件名,只记得部分文件名
已知文件以1开头,.c结尾,不知道具体的文件名
find 目标路径 -name  1\*.cfind的使用场景:
在项目开发的过程中,多个文件中某一个文件报错,可以使用find以及文件名,快速找到文件的位置

5.通配符

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

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

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

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

六、创建链接文件 

1.创建硬链接文件 ln

硬链接就类似于复制粘贴

ln      被链接文件名      生成的硬链接文件名

硬链接文件的注意事项:

1、硬链接文件和源文件有相同的inode号 ---->inode号是文件的唯一索引

2、修改任一个文件,另一个文件都会发生变化

3、只删除硬链接文件/源文件,不会影响到另一个文件

4、当文件描述中,硬链接文件个数为0时,才表示文件被删除

5、当删除文件的硬链接文件后,再创建一个同名文件,这个同名文件是一个全新的文件

6、硬链接文件的文件类型是-:普通文件

 2.创建软链接文件 ---->ln -s

软链接/符号链接

理解为wins下的快捷方式

ln -s   被链接文件的绝对路径      软链接文件的绝对路径 注意事项:

1、建议大家在创建软链接文件时,加文件的绝对路径

2、任一个文件的修改,都会影响到另一个文件

3、如果源文件被删除,链接文件会失效,如果想重新生效,再创建一个同名的源文件,软链接文件就会重新被链接

4、软链接文件的文件类型是l

5、拷贝软链接文件时,为了保持链接文件原有的属性,加上-d参数,如果不加,仅仅复制过来一个普通文件

七、用户相关的操作 

1.新建用户

sudo adduser 用户名

新建用户一定需要sudo权限

新建用户时,会创建一个同名的组,如果创建用户时,同名组已经存在, 会提示组已经存在,并且用户不会创建成功 --->使用sudo delgroup 把同名组删掉

2.给新用户添加sudo权限      

修改/etc/sudoers文件,需要sudo权限,切换到超级用户或者切换到有sudo权限的用户

sudo vim /etc/sudoers

打开sudoers文件,按照上面原有的内容抄下来,需要把%admin改成用户名

(不要复制粘贴)

3.删除用户

sudo deluser 用户名  ---->可以删除用户,但是不会删除用户的家目录,可以后续手动删除
sudo userdel -r 用户名  ----->删除用户的同时删除用户的家目录

4.usermod ---->修改用户的信息

改用户信息,需要保证用户不在登陆状态

sudo usermod -c 新的描述信息 用户名
sudo usermod -l 新的用户名  用户名
sudo usermod -m -d  新的家目录路径  用户名
-m -MOVE    -d -HOME_DIR
sudo usermod -g 新的组 用户名 ---->需要保证目标组已经存在
查看/etc/group中记录所有已经存在的组

/etc/passwd中的一行

ubuntu:用户名

x:用户是否加密

1000:uid

1000:gid

guoq:描述信息 ------>会在图形化界面显示(开关机登陆界面)

/home/ubuntu:用户的家目录

/bin/bash:用户使用的shell解析器 

八、磁盘相关的操作

1.让U盘链接到虚拟机

i)方法1:通过弹窗让U盘链接到虚拟机

ii)方法2:通过虚拟机设置的菜单栏

2.检查U盘是否被ubuntu识别

ls /dev/sd* ----->如果结果包含除了sda外的其他内容,说明U盘连接成功

可以通过df -h指令查看空间使用率

外部设备(U盘)只有在挂载的情况下,才能通过df -h查看到

3.磁盘分区

fdisk是一个磁盘分区的软件,如果没有软件,可以使用:sudo apt-get install fdisk

sdb表示整个磁盘,sdb1表示对整个磁盘空间划分后的一个分区

sudo fdisk /dev/sdb  ---->使用fdisk工具,对整个物理磁盘的空间进行划分
进入fdisk工具后,输入相应的指令完成对磁盘的操作
p:打印已有的分区
n:新建分区
d:删除分区
w:写入磁盘并退出
q:不写入磁盘直接退出2048表示1M

说明磁盘分区成功

4.对分区格式化---->mkfs

make file system

sudo mkfs.要格式化的文件格式 要格式化的分区 sudo mkfs.ntfs 要格式化的分区

如果分区已经被挂载,格式化会失败,先给分区取消挂载

格式化成功的提示

5.磁盘的挂载 ---->mount

因为在linux下万物皆文件,磁盘会被识别成一个块设备文件,没有办法直接写入文件

可以选择一个已有的文件夹,让磁盘分区挂载到这个文件夹下,挂载成功后,对该文件夹的操作就相当于对磁盘的操作

sudo mount 要挂载的磁盘分区 挂载的目录
sudo umount 取消挂载的分区
sudo umount 取消的挂载点(尽量用这种)

常见的问题:

  1. 先检查U盘有没有被自动挂载,df -h ---->查看U盘的挂载点 umount
  2. 使用fidsk工具,对整个物理磁盘分区,sdb后面不带数字
  3. 如果后面需要对分区格式化,分区分小一点空间
  4. 挂载的注意事项:

挂载的目录本身存在,挂载后无法访问到目录原有的内容,如果不取消挂载,然后把U盘弹出了,就无法继续访问挂载点目录,可以通过取消挂载去解决 ,sudo umount 挂载点名

练习:

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/74646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

车载软件架构——基础软件供应商开发工具链(一)

车载软件架构——基础软件供应商&开发工具链(一) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己…

Qt包含文件不存在问题解决 QNetworkAccessManager

这里用到了Qt的网络模块&#xff0c;在.pro中添加了 QT network 但是添加 #include <QNetworkAccessManager> 会报错说找不到&#xff0c;可以通过在项目上右键执行qmake后&#xff0c;直接#include <QNetworkAccessManager>就不会报错了&#xff1a;

MLC-LLM 部署RWKV World系列模型实战(3B模型Mac M2解码可达26tokens/s)

0x0. 前言 我的 ChatRWKV 学习笔记和使用指南 这篇文章是学习RWKV的第一步&#xff0c;然后学习了一下之后决定自己应该做一些什么。所以就在RWKV社区看到了这个将RWKV World系列模型通过MLC-LLM部署在各种硬件平台的需求&#xff0c;然后我就开始了解MLC-LLM的编译部署流程和…

搭建自己的OCR服务,第一步:选择合适的开源OCR项目

一、OCR是什么&#xff1f; 光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;是指对文本资料的图像文件进行分析识别处理&#xff0c;获取文字及版面信息的过程。 亦即将图像中的文字进行识别&#xff0c;并以文本的形式返回。 二、OCR的基本流程 1…

实战教程:如何将自己的Python包发布到PyPI上

1. PyPi的用途 Python中我们经常会用到第三方的包&#xff0c;默认情况下&#xff0c;用到的第三方工具包基本都是从Pypi.org里面下载。 我们举个栗子: 如果你希望用Python实现一个金融量化分析工具&#xff0c;目前比较好用的金融数据来源是 Yahoo 和 Google。你可能需要读取…

3dMax全球学习资源、资源文件和教程 !

此样例教育教程和学习资源旨在提供使用Autodesk 3ds Max时的计划知识和培训、正确的工作流、流程管理和最佳实践。 您在Autodesk三维设计领域的职业生涯 有关使用3ds Max和Maya在计算机图形领域开始职业生涯的提示&#xff08;包括新的3ds Max和Maya介绍教程&#xff0c;以复…

Spring Cloud:构建微服务的最佳实践

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

PLC编码器测速(限幅滤波+中心差分法求导SCL源代码)

M法测速的基本原理,大家可以查看专栏的系列文章,这里不再赘述常用链接如下: PLC通过编码器反馈值计算速度的推荐做法(算法解析+ST代码)_编码器脉冲怎么转换为速度_RXXW_Dor的博客-CSDN博客PLC如何测量采集编码器的位置数据,不清楚的可以参看我的另一篇博文:三菱FX3U PLC…

C#模拟PLC设备运行

涉及&#xff1a;控件数据绑定&#xff0c;动画效果 using System; using System.Windows.Forms;namespace PLCUI {public partial class MainForm : Form{ public MainForm(){InitializeComponent();}private void MainForm_Load(object sender, EventArgs e){// 方式2&#x…

索尼 toio™ 应用创意开发征文|探索创新的玩乐世界——索尼 toio™

导语&#xff1a; 在技术的不断进步和发展中&#xff0c;玩具也逐渐融入了智能化的潮流。索尼 toio™作为一款前沿的智能玩具&#xff0c;给孩子和成人带来了全新的游戏体验。本文将介绍索尼 toio™的特点、功能和应用场景&#xff0c;让读者了解这个令人兴奋的创新产品。 1. 了…

《Go语言在微服务中的崛起:为什么Go是下一个后端之星?》

&#x1f337;&#x1f341; 博主猫头虎&#x1f405;&#x1f43e; 带您进入 Golang 语言的新世界✨✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f…

【Unity的HDRP下ShaderGraph实现权重缩放全息投影_(内附源码)】

实现权重缩放全息投影 效果如下 效果如下 顶点位置偏移 链接&#xff1a; 提取码&#xff1a;1234

Axure RP仿QQ音乐app高保真原型图交互模板源文件

Axure RP仿QQ音乐app高保真原型图交互模板源文件。本套素材模板的机型选择华为的mate30&#xff0c;在尺寸和风格方面&#xff0c;采用标准化制作方案&#xff0c;这样做出来的原型图模板显示效果非常优秀。 原型中使用大量的动态面板、中继器、母版&#xff0c;涵盖Axure中技…

YAML配置文件

YAML配置文件 SpringBoot中application.properties文件存在的问题&#xff1a;配置太多后难阅读和修改&#xff0c;层级结构辨识度不高。 简介 YAML是"YAML Ain’t a Markup Language"&#xff08;YAML不是一种标记语言&#xff09;的递归缩写。在开发的这种语言时&a…

Matlab信号处理3:fft(快速傅里叶变换)标准使用方式

Fs 1000; % 采样频率 T 1/Fs; % 采样周期&#xff1a;0.001s L 1500; % 信号长度 t (0:L-1)*T; % 时间向量. 时间向量从0开始递增&#xff0c;0s~1.499sS 0.7*sin(2*pi*50*t) sin(2*pi*120*t); % 模拟原信号 X S 2*randn(size(t)); …

汇川PLC学习Day3:轴控代码编写、用户程序结构说明与任务配置示例、用户变量空间与编址

汇川PLC学习Day3&#xff1a;轴控代码编写、用户程序结构说明与任务配置示例、用户变量空间与编址 一、新建轴与轴控代码编写 1. 新建轴 (1)新建一个轴 &#xff08;2&#xff09;将轴名字更新为实际名字 可以后面实例化后再更改&#xff0c;汇川可以在更新名字时同步更新…

艺术与AI:科技与艺术的完美融合

文章目录 艺术创作的新工具生成艺术艺术与数据 AI与互动艺术虚拟现实&#xff08;VR&#xff09;与增强现实&#xff08;AR&#xff09;机器学习与互动性 艺术与AI的伦理问题结语 &#x1f389;欢迎来到AIGC人工智能专栏~艺术与AI&#xff1a;科技与艺术的完美融合 ☆* o(≧▽≦…

Element-ui container常见布局

1、header\main布局 <template> <div> <el-container> <el-header>Header</el-header> <el-main>Main</el-main> </el-container> </div> </template> <style> .el-header { …

基于SSM的宿舍管理系统【附源码文档】

基于SSM的宿舍管理系统【附源码文档】 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;管理员、宿舍管理员、学生 管理员&#xff1a;院系信息、班级信…