打开终端
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