Ubuntu常用操作

简介: Ubuntu常用操作命令行教程,涵盖了文件系统导航、文件操作(增删改查)、权限设置、文本编辑器使用、软件包管理以及网络配置等基本命令和操作的详细说明。

打开终端

Ctrl + Alt + T

查看当前目录

pwd

回到上一级目录

2.3.6 mv命令
移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。

当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。

实例:

(1)将文件 test.log 重命名为 test1.txt

mv test.log test1.txt
Copy to clipboardErrorCopied
(2)将文件 log1.txt,log2.txt,log3.txt 移动到根的 test3 目录中

mv log1.txt log2.txt log3.txt /test3
Copy to clipboardErrorCopied
(3)将文件 file1 改名为 file2,如果 file2 已经存在,则询问是否覆盖

mv -i log1.txt log2.txt
Copy to clipboardErrorCopied
(4)移动当前文件夹下的所有文件到上一级目录

mv * …/

cd ..

跳转到某文件夹目录

cd ~/folder_name/

新建文件夹

  • m 对新建目录设置存取权限。也可以用chmod命令设置。
  • p 加该选项后,若新文件夹路径中的某些目录尚不存在,系统将自动补全尚不存在的目录。
mkdir -p ~/folder_name

执行命令

在当前bash环境下读取并执行FileName中的命令
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录

source filename

显示内容

1.echo 内容

echo 2333
2333 #所获得的在终端上的输出

echo $ 用来调用系统变量的
比如 echo $PATH,这个命令就是在屏幕上输出环境变量

echo $PATH

2.cat 文件名

cat ~/.bashrc #输出文件内容到终端

将内容快捷写入文件

echo 内容 符号 文件
> 输出重定向
覆盖原内容
>> 输出追加重定向
在原内容上追加要输出的内容


echo "source WS/catkin_ws/devel/setup.bash" >> ~/.bashrc

创建文件

touch

touch publisher_example.cpp

删除文件

rm -rf file_name

显示隐藏文件

Ctrl + H

CMAKE编译

在含有CMakeList的目录下

cd YDLidar-SDK/build
cmake ..
make
sudo make install

详见:https://github.com/Hermanye996/YDLidar-SDK/blob/master/doc/howto/how\_to\_build\_and\_install.md

查看USB情况

lsusb
├── bin          # bin是Binary的缩写。存放系统中最常用的可执行文件(二进制)。
├── boot         # 这里存放的是linux内核和系统启动文件,包括Grub、lilo启动器程序。
├── dev          # dev是Device(设备)的缩写。该目录存放的是Linux的外部设备,如硬盘、分区、键盘、鼠标、usb等。
├── etc          # 这个目录用来存放所有的系统管理所需要的配置文件和子目录,如passwd、hostname等。
├── home         # 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
│   └── yahboom        # 用户
│       ├── Desktop    # 桌面
│       ├── Documents  # 文档
│       ├── Downloads  # 下载
│       ├── Music      # 音乐
│       ├── Pictures   # 图片
│       ├── Public     # 共享
│       ├── Templates  # 模板
│       ├── Videos     # 视频...
│   ... 
├── lost+found   # 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些零散文件。
├── lib          # 存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件。
├── media        # ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件。
├── mnt          # 作为被挂载的文件系统得挂载点。
├── opt          # 作为可选文件和程序的存放目录,主要被第三方开发者用来简易安装和卸载他们的软件。
├── proc         # 这个目录是一个虚拟的目录,它是系统内存的映射,这里存放所有标志为文件的进程,比较cpuinfo存放cpu当前工作状态的数据。
├── root         # 该目录为系统管理员,也称作超级权限者的用户主目录。
├── sbin         # s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。
├── srv          # 存放系统所提供的服务数据。
├── sys          # 系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。
├── usr          # 存放与系统用户有关的文件和目录。
│   ├── bin      # 用户和管理员的标准命令
│   ├── games    # 存放着XteamLinux自带的小游戏
│   ├── include  # 用来存放Linux下开发和编译应用程序所需要的头文件,c或者c++
│   ├── lib      # 应用程序和程序包的连接库
│   ├── local    # 系统管理员安装的应用程序目录
│   ├── sbin     # 存放root超级用户使用的管理程序
│   └── src      # Linux开放的源代码 
│   └── share    # 存放共享数据...
├── var          # 长度可变的文件,尤其是些记录数据,如日志文件和打印机文件。
│   ├── backups
│   ├── cache    # 应用程序缓存目录
│   ├── crash    # 系统错误信息
│   ├── log      # 日志文件
│   ├── mail     # 电子邮件
│   └── tmp      # 临时文件目录...
├── tmp          # 这个目录是用来存放一些临时文件的,所有用户对此目录都有读写权限。
...
2.4.1、增
新建文件

touch test.txt
新建文件夹

mkdir test         # 创建一个文件
mkdir -p test/src  # 创建test文件夹,并在test文件夹中创建src文件夹
复制

sudo cp test.txt test_copy.txt  # 复制一个文件
2.4.2、删
-i    以进行交互式方式执行
-f    强制删除,忽略不存在的文件,无需提示
-r    递归地删除目录下的内容
sudo rm test.txt    # 删除文件 | 空文件夹
sudo rm -r test     # 删除文件夹及文件夹里的内容
2.4.3、改
mv 移动、重名
sudo mv test test_new          # 将test文件夹修改为test_new
sudo mv test.txt test_new.txt  # 将test.txt文件修改为test_new.txt
chmod修改文件权限
权限设定

符号    含义
+    增加权限
-    撤销权限
=    设定权限
rwx

字母权限    含义
r    read 表示可读取权限,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w    write 表示可写入权限,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x    excute 表示可执行权限,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。
sudo chmod +rwx test.txt  
添加所有权限的快捷方式

sudo chmod 777 test.txt  
修改密码
设置root密码

sudo passwd root
设置用户名密码

sudo passwd 用户名
2.4.4、查
查看系统版本
lsb_release -a     # 发行版本号
uname -a           # 内核版本及系统位数
cat /proc/version  # 内核版本及gcc版本
查看硬件信息
curl cip.cc 或者 ifconfig    # 查看IP地址
cat /proc/cpuinfo or lscpu  # cpu信息
sudo dmidecode -t memory    # 内存信息
df -h                       # 查看所有挂载的文件系统空间情况
which python3               # 查看命令位置
v4l2-ctl --list-formats-ext # 查看相机设备参数
nproc                       # 查看内核数

查看文件信息
la             # 显示指定目录下所有子目录与文件,包括隐藏文件
ll             # 以列表方式显示文件的详细信息  
ls -h          # 配合以人性化的方式显示文件大小
cat test.txt   # 查看文件内容
tree           # 查看文件目录(需要安装tree)
tree安装命令

sudo apt install tree
查找文件
find ./ -name test.sh   # 查找当前目录下所有名为test.sh的文件or目录
find ./ -name '*.sh'    # 查找当前目录下所有后缀为.sh的文件or目录
find ./ -name "[A-Z]*"  # 查找当前目录下所有以大写字母开头的文件or目录
2.4.5、其他
tar命令
tar使用格式:tar [参数] 打包文件名 文件

-c  # 生成档案文件,创建打包文件
-v  # 列出归档解档的详细过程,显示进度
-f  # 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
-t  # 列出档案中包含的文件
-x  # 解开档案文件
打包

tar -cvf xxx.tar *                # 当前目录所有文件
tar -cvf xxx.tar *.txt            # 以.txt结尾的文件 
tar -cvf xxx.tar my-file my-dir   # 打包指定目录或文件
解包

tar -xvf xxx.tar             # 解包到当前目录
tar -xvf xxx.tar -C my-dir   # 解包到指定目录(需要先创建my-dir目录)
zip、unzip命令
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

zip bak *       # 当前目录所有文件,也可以指定文件
zip -r bak *    # 当前目录所有文件&目录递归
解压文件:unzip -d 解压后目录文件 压缩文件

unzip -d ./target_dir bak.zip  # 解压到指定目录
unzip bak.zip                  # 解压到当前目录
ln命令
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。常用,可以对文件或文件夹创建

ln -s 源文件 链接文件
硬链接:硬链接只能链接普通文件,不能链接目录。即使删除了源文件,链接文件还是存在

ln 源文件 链接文件
scp远程拷贝
scp jetson@192.168.16.66:/home/jetson/xxx.tar.gz /home/yahboom/ # 从远程复制文件到本地
scp /home/yahboom/xxx.png jetson@192.168.16.66:/home/jetson/    # 从本地复制文件到远程
scp -r jetson@192.168.16.66:/home/jetson/test /home/yahboom/    # 从远程复制目录到本地 -r
scp -r /home/yahboom/test jetson@192.168.16.66:/home/jetson/    # 从本地复制目录到远程 -r
wget文件下载
在百度随便搜索一张图片地址,作为示例。

wget "https://img0.baidu.com/it/u=3911542037,2006161295&fm=224&fmt=auto&gp=0.jpg"                 # 下载普通文件(百度链接要加双引号)
wget -O yahboom.jpg "https://img0.baidu.com/it/u=3911542037,2006161295&fm=224&fmt=auto&gp=0.jpg"  # 以指定文件名保存文件
其他
nautilus .          # 打开当前文件
cd ~                # 切换到当前用户的主目录(/home/用户目录)
cd .                # 切换到当前目录
cd -                # 可进入上次所在的目录
cd /                # 切换到系统根目录/
pwd                 # 显示当前路径
echo "HelloWorld"   # 向控制台输出HelloWorld信息
which               # 查看命令位置
2.5、编辑器
2.5.1、vim
vim是vi的升级版,最常见的区别是能用多种颜色显示显示系统文件的一些特殊信息。

安装命令
sudo apt install vim
三种主要模式
命令模式(编辑模式):默认模式,移动光标,剪切/粘贴文本(界面表现:左下角显示文件名或为空)
插入模式(输入模式):修改文本(界面表现:左下角显示—INSERT–)插入模式下,按ESC按键返回命令模式
末行模式(扩展模式):保存、退出等(界面表现:左下角显示—VISUAL–)末行模式下连续按两次ESC按键返回末行模式

模式切换
命令模式切换到编辑模式

i    # 插入方式进入编辑模式
a    # 追加方式进入编辑模式
o    # 当前行下一行开始位置开始编辑
O    # 当前行上一行开始位置开始编辑
命令模式切换到末行模式

:     # 输入冒号【:】
末行模式切换到命令模式:按【esc】

编辑模式切换到命令模式:按【esc】

Esc建:退出到当前模式

Esc建Esc建:总是返回到命令模式

vim

末行模式
w           # 保存
q           # 退出
q!          # 强制退出
x           # 保存并退出
set nu      # 显示行号
set         # nonu 隐藏行号
0,$d        # vim 删除文件全部内容:  
/string     # 从光标处开始向后寻找字符串string;按n定位下一个,shfit+n定位上一个。
g/string    # 检索string。使光标停止在第一个检索到的 string 串的行首。
命令模式
yy        # 复制
p         # 粘贴
3yy       # 复制3行
2p        # 粘贴2遍
dd        # 剪切
3dd       # 剪切3行
u         # 撤销
Ctrl + r  # 反撤销
dd        # 删除当前行
dG        # 删除当前行到文件末尾
dH        # 删除当前行到文件开头
gg        # 跳到当前文档首行
G         # 跳到当前文档末行
^         # 跳到当前行首
$         # 跳到当前行尾
h         # 左移一个字符
j         # 下移一行
k         # 上移一行
l         # 右移一个字符
PageDown(或Ctrl+F)  # 下翻一屏
PageUp(或Ctrl+B)    # 上翻一屏
2.5.2、nano
nano是Unix和类Unix系统中的一个文本编辑器,是Pico的复制品。

安装
sudo apt install nano
新建/打开文件

nano 路径+文件名
例如:nano test_nano.txt
控制命令

Ctrl+v     # 下一页
Ctrl+y     # 上一页
Ctrl+w     # 搜索单词或短语
Ctrl+x     # 关闭当前文本,退出nano,返回shell
Ctrl+\     # 搜索替换
Ctrl+k     # 剪切文本行
Ctrl+u     # 粘贴文本行
Ctrl+c     # 显示光标在文本中的位置
2.5.3、gedit
gedit跟Windows下记事本的用法没什么差别。

在编辑器中我们可以点击 ”Open” 按钮浏览最近打开过的文件列表并打开文件;点击 ”Save” 按钮可以保存当前正在编辑的文件;点击右侧的菜单栏进行更多的操作等等。
快捷键也跟windows下一样:

Ctrl + s           保存文件
Ctrl + Shift + s   另存为
Ctrl + f           搜索文本内容
gedit编辑器启动必须在能够显示界面的情况下,不可ssh、jupyter、putty等远程无界面启动。

2.6、Ubuntu软件操作命令
sudo apt-get update                            # 更新源
sudo apt-get install package                   # 安装包
sudo apt-get remove package                    # 删除包
sudo apt-cache search package                  # 搜索软件包
sudo apt-cache show package                    # 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package --reinstall       # 重新安装包
sudo apt-get -f install                        # 修复安装
sudo apt-get remove package --purge            # 删除包,包括配置文件等
sudo apt-get build-dep package                 # 安装相关的编译环境
sudo apt-get upgrade                           # 更新已安装的包
sudo apt-get dist-upgrade                      # 升级系统
sudo apt-cache depends package                 # 了解使用该包依赖那些包
sudo apt-cache rdepends package                # 查看该包被哪些包依赖
sudo apt-get source package                    # 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean   # 清理无用的包
sudo apt-get check                             # 检查是否有损坏的依赖

绑定设备id
https://www.yahboom.com/build.html?id=5284&cid=529

查看WIFI信息,如SSID等

iwconfig

查询SD卡信息

sudo fdisk -l

查看挂载信息

 mount|column -t
目录
相关文章
|
Ubuntu Oracle 关系型数据库
Ubuntu安装MySQL及常用操作
Ubuntu安装MySQL及常用操作
500 1
|
Ubuntu Unix Linux
SDN第二章 Ubuntu系统常用操作命令(2)
SDN第二章 Ubuntu系统常用操作命令(2)
160 0
|
Ubuntu 网络安全 SDN
SDN第二章 Ubuntu系统常用操作命令(1)
SDN第二章 Ubuntu系统常用操作命令(1)
205 0
|
监控 Ubuntu JavaScript
Ubuntu安装设置nginx和nohup常用操作
nginx安装 Ubuntu直接从常规源中安装 apt-get install nginx 安装的目录 配置文件:/etc/nginx/ 主程序文件:/usr/sbin/nginx Web默认目录:/usr/share/nginx/http/ 日志目录:/var/log/n...
1829 0
|
20天前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
65 6
|
9天前
|
Ubuntu Linux Docker
Ubuntu 18.04 安装Docker实战案例
关于如何在Ubuntu 18.04系统上安装Docker的实战案例,包括安装步骤、配置镜像加速以及下载和运行Docker镜像的过程。
65 3
Ubuntu 18.04 安装Docker实战案例
|
9天前
|
Ubuntu 网络安全 开发工具
Ubuntu19.04的安装过程详解以及操作系统初始化配置
本文详细介绍了Ubuntu 19.04操作系统的安装过程、初始化配置、网络设置、软件源配置、SSH远程登录以及终端显示设置。
27 1
Ubuntu19.04的安装过程详解以及操作系统初始化配置
|
9天前
|
Ubuntu NoSQL
ubuntu上安装某个程序的符号表和源码包
ubuntu上安装某个程序的符号表和源码包
|
9天前
|
Ubuntu
在树莓派4B上安装ubuntu系统
在树莓派4B上安装ubuntu系统
|
9天前
|
Ubuntu
使用dpkg在ubuntu上安装软件包遇到依赖包的问题
使用dpkg在ubuntu上安装软件包遇到依赖包的问题