Ubuntu使用技巧

本文最后更新于:2023年10月29日 晚上

一些使用技巧和操作命令整理合集

在 Ubuntu Linux 上安装 Deb 文件的 3 种方法

  1. 使用软件中心安装
  2. 使用命令行安装:
1
2
3
sudo apt install path_to_deb_file
或者
sudo dpkg -i path_to_deb_file

在这两个命令中,使用已下载的 deb 文件的路径和名称来替换 path_to_deb_file 。

关于权限和存储

查看权限:

  • ls -l filename
    • 可以是文件或者文件夹

修改权限:

  • chmod o w filename
    • 授予写的权限
  • chmod go-rw filename
    • 删除filename组群和其他人的读写权限
  • sudo chmod -R 777 /var/www
    • 给“/var/www”这个目录赋予所有人可读可写可执行权限

访问权限:

  • 读取 r :数字表示 4,允许查看、下载文件内容、显示目录列表;

  • 写入 w :数字表示 2,允许修改文件内容,允许在目录中新建、移动、删除文件或子目录;

  • 可执行 x :数字表示 1,允许运行程序、切换目录。

归属(所有权)

  • 属主:拥有该文件或目录的用户帐号;
  • 属组:拥有该文件或目录的组帐号。

操作对象

u 文件属主权限
g 同组用户权限
o 其它用户权限
a 所有用户(包括以上三种)
s(setuid):该位是让普通用户可以以 root 用户的角色运行只有 root 帐号才能运行的程序或命令

权限设定

+ 增加权限
- 取消权限
= 设置权限

常用命令:

相对路径的表现形式

  • 绝对路径:从 / (根目录)为起点的路径。
  • 相对路径:以当前目录为起点(当前文件所在的路径相对于其它文件或文件夹的路径关系)。
命令行 说明
直接使用目录名或文件名 表示当前工作目录中的子目录、文件的位置
.开头 表示以当前的工作目录作为起点,如 ./etc
..开头 表示以当前目录的上一级目录(父目录)作为起点,如 ../etc
以 “~用户名” 形式开头 表示以指定用户名的宿主目录作为起点
以 “~” 形式开头 表示以当前用户的宿主目录作为起点

cd 命令

命令行 说明
cd/ 切换到系统根目录
cd~或cd 切换到当前用户的宿主目录(家目录)
cd- 切换到 上一次执行cd命令 之前所在的目录

ls 命令:用于显示指定工作目录下的文件及子目录

可使用命令 ls –help、man ls 查看所有参数。

3.1 通配符:参数可结合通配符一起使用。

命令行 说明
代表任意一个字符,只能占一个字符;
* 代表任意数个字符,可以是0个或多个;
[] 表示可以匹配字符组中的任意一个字符,每个通配符只匹配一次,多个通配符可一起使用,不区分大小写。如ls [abc],ls [a-c],ls [1ab][1ab]。

3.2 ls-l:查看某一个目录会得到一个7个字段的列表。

alias:设置命令的别名

alias [别名]=‘指令名称’ ,等于号左右不能有空格,指令名称必须是可执行的完整的命令;

参数:若不加任何参数,则列出目前所有的别名设置。

1
2
3
type 命令别名      #查看别名

unalias 命令别名 #取消命令别名

du [选项] [文件或目录...] \

统计指定目录(或文件)所占用磁盘空间的大小。

有-a,-s,-h,-c,–math-depth=n等选项,要用自己查

修改权限命令:chmod

命令格式:chmod [ugoa][+-=][rwx]文件或目录
或用数字表示:chmod [777] 文件或目录 ,默认为操作所有用户a;

 常用格式: -R:递归修改指定目录下所有子项的权限;

设置目录和文件的默认权限 umask

umask查看:umask
umask设置:umask 000,umask 022 #新建目录或者文件,再查看权限

umask(权限反码) 作用:

  • 控制新建的文件或者目录的权限默认值
  • 默认权限去除umask的权限为新建的文件或者目录的权限

新建的文件或者目录的权限为默认最大权限减去umask权限。
umask 默认值为 022,普通文件的最大默认权限.为 666,目录的最大默认权限为 777;

ln - \

为文件或目录创建链接文件,在文件之间建立连接。

链接文件类型:

  • 软链接(符号链接)(symbolic link):产生一个特殊的档案,该档案的内容是指向另一个档案的位置
  • 硬链接(hard link):一个档案可以有多个文件名(一个文件可以有好几个文件名,只有将最后一个文件名从 磁盘上删除,才能把这个文件删掉)

知识点:
参考:https://blog.csdn.net/duanbaoke/article/details/115485100

  • 在Linux中,文件名和文件类型是分开存储的,
  • 在Linux中,只有文件的硬链接数==0 才会被删除
  • 使用 ls -l 可以查看一个文件的硬链接数量
    在日常工作中,几乎不会创建文件的硬链接,只有超级用户才能建立目录的硬连接。
  • 硬链接是存在同一个档案系统中,而软链接却可以跨越不同的档案系统
  • ln- 在文件间产生连接。默认产生硬链接,有-s选项,则产生软链接:
    1
    2
    创建硬链接:ln 源文件 目标位置
    ln -s 源文件或目录名... 链接文件或目标位置

cp

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录。

cp[选项]...源文件或目录.…目标文件或目录...
-f,-i,-p,-r四个选项。
注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cp -p test.rb /home/test 
#将test.rb copy到test目录,并且保留原文件的属性

cp -p test.rb /home/test/haha.rp
#将test.rb copy到test目录,并将文件名修改为haha.rp

cp -r Dir/ /home/test
#将Dir目录copy到test目录下

cp -fr Dir/* /home/test
#将Dir下面的所有文件强制copy到test目录下

cp /root/{1,2,3}.txt ./
#批量复制三个同扩展文件到当前目录

cp test.rb{,.bak}
#备份test.rb,并在尾部加上.bak后缀

常用选项:-f,-i,-r

1
2
3
4
5
6
7
rm test.php        #删除文件需要确认

rm -f test.php #强制删除文件不确认

rm -rfv ./test #递归强制删除当前的test目录,并显示删除的详细过程

rm -rf aa/ #递归强制删除aa目录下的所有

注意:

  • 删除文件可以直接使用 rm 命令,若删除目录则必须配合选项 “ -r “,因为目录下有 . 和 .. 两个隐藏子目录;
  • 不要直接删除系统中已有的目录或配置文件,以避免出现意外故障;
  • 删除目录下文件时建议最好先切换到目录下再执行 rm -rf 命令
    ( 1 . cd aa 2 . rm -rf aa/)

mv: 移动文件或目录、对单个文件进行重命名。\

mv [选项] 源文件或目录 目标文件或目录

  • 将指定的文件或目录转移位置;
  • 如果目标位置与源位置相同,则相当于重命名操作。

rename:批量修改文件名

rename 旧字符 新字符 文件名
rename 旧文件 新文件 目标文件

1
rename abc def abc    # 修改 abc 名字为 dec

tree:在终端输入下面的指令查看文件结构

安装tree:

1
sudo apt install tree

压缩和解压

这里记录使用zip命令进行压缩和解压文件。

压缩:

  • zip filename.zip file
    • 压缩单个文件;将file压缩为filename.zip,file不能是目录
  • zip -r filename.zip filedir
    • 压缩目录文件

解压:

  • unzip filename.zip -d filedir
    • 将filename.zip解压到filedir目录,如果不指定-d filedir则解压到当前目录

仓库克隆

linux 系统下 github 仓库的克隆可以直接在终端通过指令克隆。

1
2
cd 
git clone https://github.com/ttroy50/cmake-examples.git cmake-examples

第一行是跳转至 home 目录,第二行是将github链接地址的内容克隆到 cmake-example 目录下,输入后会自动新建一个cmake-example 目录并把下载的代码放进去,十分方便。

linux设置串口别名

https://blog.csdn.net/beiguodexueCSDN/article/details/103099456

设置免密登录

方案一:编辑 /etc/sudoers 文件

(在香橙派上已成功实现)
步骤如下:

1.打开终端,使用以下命令打开sudoers文件:

  • sudo visudo

2.在文件中找到以下行:

1
%sudo   ALL=(ALL:ALL) ALL

3.在该行下面添加以下内容:

1
yourusername ALL=(ALL) NOPASSWD: ALL

4.按下Ctrl + X,输入y保存并退出文件

5.重启系统,成功!

方案二:系统设置

在setting中找到usr,有一个自动登录系统,开启该功能后,重启系统可以自动登录(怎么不算是免密登录呢/dog)


Ubuntu使用技巧
http://zoechen04616.github.io/2023/07/25/Ubuntu使用技巧/
作者
Yunru Chen
发布于
2023年7月25日
许可协议