Ubuntu系统的常用命令

一、用户管理类

1、创建新用户

# 创建新用户
sudo useradd -m <新用户名>    # -m 选项告诉 useradd 创建用户的主目录。

# 为新用户设置密码
sudo passwd <新用户名>

# 将 <新用户#名> 添加到 sudo 组,使其具有执行管理员命令的能力。
sudo usermod -aG sudo <新用户名>

  • 修改/etc/sudoers文件可以设置用户使用sudo时不用输密码 ,配置如下: 
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
san.zhang    ALL=(ALL:ALL) NOPASSWD:ALL

2、修改用户信息

2.1、usermod

2.1.1、简介

usermod是Linux和Unix系统中用于修改用户属性的命令。它允许管理员更改用户的各种设置,如用户名、主目录、默认shell、用户组等。以下是一些usermod命令的常见用法和选项:

 2.1.2、常见用法
# 修改用户名
usermod -l <新用户名> <旧用户名>

# 修改用户的主目录
usermod -d <新主目录> <用户名>

# 添加用户到附加组
usermod -aG <附加组> <用户名>

# 修改用户组(即修改用户的主组)
usermod -g <新组> <用户名>

# 修改用户的默认shell
usermod -s <新shell> <用户名>

#常见选项
-c:修改用户的备注信息。
-e:设置账户的过期时间。
-f:设置在passwd文件中记录用户密码失效前的天数。
-g:修改用户的主组。
-G:为用户添加或删除附加组。
-L:锁定用户账户,使其不能登录。
-m:移动用户的主目录内容到新位置(与-d选项一起使用)。
-p:修改用户的密码。
-u:修改用户的UID(User ID)。

2.2、passwd

2.2.1、简介

passwd 命令在 Linux 和 Unix 系统中用于设置或更改用户密码

​2.2.2、常见用法
# 为当前用户设置或更改密码
passwd

# 为指定用户设置或更改密码
sudo passwd <用户名>

# 锁定用户账户
sudo passwd -l <用户名>

# 解锁用户账户
sudo passwd -u <用户名>

# 查看账户密码状态(需要root权限)
sudo passwd -S <用户名>

# 从标准输入读取密码(通常用于脚本)
echo "新密码" | sudo passwd --stdin <用户名>

二、文件管理类

1、文件权限管理

1.1、修改文件权限

# 使用chmod命令修改文件权限,r -> 读,w -> 写,x -> 可执行

# 示例

# 给file文件增加可执行权限
chmod +x file

# 给file文件坚强可执行权限
chmod -x file

# 给file文件添加最高权限
chmod 777 file

# 给当前目录下所有文件添加最高权限
chmod 777 *

# 递归当前目录及子目录下的文件添加最高权限
chmod -R 777 *

2、文件打包压缩

2.1、tar

# 将a.c文件打包为test.tar.gz
tar -czvf test.tar.gz a.c

# 解压  
tar -xzvf test.tar.gz

2.2、zip和unzip

# 压缩文件
zip archive.zip file1.txt file2.txt

# 压缩目录及其子目录
zip -r archive.zip directory/

# 更新已存在的ZIP文件
zip -u archive.zip newfile.txt

# 解压缩ZIP文件
unzip archive.zip

2.3、7z

# 在当前目录下解压缩filename.7z文件
7z x filename.7z

# 将filename.7z文件解压缩到指定目录/path/to/directory下
7z x filename.7z -o/path/to/directory

# 将文件或目录file_or_directory压缩成archive.7z
7z a archive.7z file_or_directory

# 列出filename.7z压缩包的内容,但不进行解压缩
7z l filename.7z

# 常用选项
a:向压缩包中添加文件或目录。
d:从压缩包中删除文件或目录。
e:从压缩包中提取文件或目录(不使用目录名)。
h:计算文件或目录的哈希值。
i:显示支持的压缩格式信息。
l:列出压缩包的内容。
r:递归处理子目录。
t:测试压缩包的完整性。
u:更新压缩包内的文件。
x:以完整路径解压文件。

3、文件传输

3.1 scp

3.1.1、简介

scp命令是一个在Linux和Unix系统中用于在本地和远程主机之间安全地复制文件的命令行工具。它使用SSH协议进行加密传输,因此可以确保数据传输的安全性。

3.1.2、基本用法
# 基本语法
scp [选项] [[用户@]来源主机:]文件路径 [[用户@]目标主机:]文件路径

# 从本地复制到远程
scp /path/to/local/file username@remote:/path/to/destination

# 从远程复制到本地
scp username@remote:/path/to/remote/file /path/to/local/destination

# 使用密钥文件进行身份验证
scp -i /path/to/private_key username@remote:/path/to/remote/file /path/to/local/destination

# 常用选项
-r:递归复制整个目录及其内容。
-p:保留源文件的属性,包括文件的权限和时间戳。
-v:详细输出,显示详细的传输过程,有助于发现问题和调试。
-q:静默模式,不显示传输过程。
-C:开启压缩传输,加快传输速度。
-l:限制传输速度,指定带宽限制。
-4:强制使用IPv4协议进行传输。
-6:强制使用IPv6协议进行传输。
-i <密钥文件>:使用指定的密钥文件进行身份验证。
-P <端口号>:指定远程主机的端口号。

4、编辑文件

在Ubuntu中编辑文件,可以使用多种文本编辑器。

4.1、nano

nano 是一个简单的文本编辑器。

nano filename.txt

nano中,可以使用以下基本快捷键:

  • Ctrl + O:保存文件
  • Ctrl + X:退出编辑器
  • Ctrl + W:查找单词
  • Ctrl + K:剪切文本行
  • Ctrl + U:粘贴文本
  • Alt + A:移动到行首
  • Alt + E:移动到行尾

4.2、vim 或 vi

vim(或vi)是一个强大的文本编辑器,它是一个非常高效的工具。

vim filename.txt
vi filename.txt

vim中,首先需要进入插入模式来编辑文本。可以按 i 进入插入模式,然后按 Esc 退出插入模式。在普通模式下,可以使用以下命令:

  • :w:保存文件
  • :q:退出编辑器
  • :wq:保存并退出
  • dd:删除当前行
  • yy:复制当前行
  • p:粘贴
  • /keyword:搜索keyword
  • :set number:显示行号

 4.3、sed

sed是一个流编辑器,用于对输入流(或文件)进行基本的文本转换。它经常用于替换文本、删除行等。

# 替换文本中的“old”为“new”
sed 's/old/new/g' filename.txt

# 删除包含“error”的行
sed '/error/d' filename.txt

# 在文件的第一行前插入文本
sed -i '1i\Inserted text' filename.txt # sed的-i选项会直接修改文件

# 去除文件中的M格式
sed -i 's/\r//g' filename.txt  

# 修改s文件中的-d 0为-d 1
sed -i 's/-d 0/-d 1/g' filename.txt

# 删除第3~13行
sed '3,13d' filename.txt


5、查看文件

在Ubuntu中,可以使用多种命令来查看文件的内容。以下是一些常用的命令:

5.1、cat

# 查看整个文件内容
cat filename.txt

# 显示文件的前10行
cat filename.txt | head -n 10  

# 显示文件的最后10行
cat filename.txt | tail -n 10

5.2、more 和 less

more filename.txt

more中,可以按空格键来查看下一页,按Enter键来查看下一行,按q键来退出。

less filename.txt

lessmore更强大,它允许向前和向后浏览文件,搜索文本等。在less中,可以使用以下快捷键:

  • 空格键:向下翻页
  • b:向上翻页
  • /text:搜索包含text的行
  • n:搜索下一个匹配项
  • N:搜索上一个匹配项
  • q:退出less

 5.3、head 和 tail

head命令用于显示文件的开头部分,而tail命令用于显示文件的结尾部分。

# 默认显示文件的前10行 
head filename.txt 

# 默认显示文件的最后10行  
tail filename.txt  

# 显示文件的前20行
head -n 20 filename.txt  

# 显示文件的最后50行  
tail -n 50 filename.txt  


5.6、grep和awk

grep用于在文件中搜索指定的模式,并将匹配的行打印出来。

# 搜索包含“error”的行
grep 'error' log.txt

# 搜索不区分大小写的“ERROR”或“error”
grep -i 'error' log.txt

# 显示匹配行的行号
grep -n 'error' log.txt

awk是一个文本分析工具,它允许基于模式扫描和处理文本。awk通常用于报告生成和数据提取。

# 打印第一列
awk '{ print $1 }' filename.txt

# 打印文件大小大于1000的行
awk '$1 > 1000' filesize.txt

grep和awk结合使用

# 搜索包含“error”的行,并打印每行的第二列
grep 'error' log.txt | awk '{ print $2 }'

6、查找文件

find 是 Unix 和类 Unix 系统(如 Ubuntu)中非常强大的命令行工具,用于在目录树中查找文件。它可以根据各种条件(如文件名、文件类型、大小、修改日期等)来搜索文件。

# 查找当前目录及其子目录中所有的 .txt 文件
find . -name "*.txt"

# 查找 /home/user 目录下所有的目录
find /home/user -type d

# 查找最近 7 天内修改过的文件
find . -type f -mtime -7

# 查找大于 1M 的文件
find . -type f -size +1M

# 查找所有空文件
find . -type f -empty

# 找到所有的 .txt 文件并删除它们
find . -name "*.txt" -exec rm {} \;

# 使用 xargs 处理大量文件
find . -name "*.txt" | xargs rm
find ./ -name "*.sh" | xargs -i rm {}

# 常用选项:
-name:按照文件名查找文件。
-type:按照文件类型查找,如 d 表示目录,f 表示普通文件。
-size:按照文件大小查找。
-mtime:按照文件的修改时间查找。
-atime:按照文件的访问时间查找。
-ctime:按照文件的创建时间查找(实际上是inode改变时间)。
-user:按照文件属主查找。
-group:按照文件属组查找。
-exec:对匹配的文件执行指定的 shell 命令。
-ok:和 -exec 的作用相同,不过会以更为安全的模式来执行该参数所给出的 shell 命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

三、服务安装类

1、网络配置

1.1、ifconfig

ifconfig命令主要用于配置和显示Linux内核中网络接口的网络参数。

# 更新软件包列表
sudo apt update

# 安装 net-tools 包
sudo apt install net-tools

# 显示所有网络接口的信息
ifconfig

# 显示特定网络接口的信息
ifconfig eth0

# 启动或关闭网络接口
sudo ifconfig eth0 down  
sudo ifconfig eth0 up

# 配置网络接口的 IP 地址
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

# 配置广播地址
sudo ifconfig eth0 broadcast 192.168.1.255

# 启用或禁用网络接口上的混杂模式
sudo ifconfig eth0 promisc 
# 混杂模式允许网络接口接收所有到达的数据包,禁用它可以使用 -promisc 选项

1.2、route

route命令是一个在Linux和类Unix系统中用于操作IP路由表的命令行工具。

# 添加网关
route add default gw 192.168.1.1

# 添加一个静态路由
route add -net 192.168.105.0 netmask 255.255.255.0 gw 192.168.105.225

# 删除一个静态路由
route delete -net 192.168.105.0 netmask 255.255.255.0 gw 192.168.105.225

# 显示路由表
route -n

1.3、ip

ip命令是Linux加强版的网络配置工具,用于代替ifconfig命令。它整合了ifconfigroute这两个命令的功能,并提供了更强大的网络配置能力。

# 显示所有网络接口的信息
ip addr show        # 简写 ip a s        

# 查看特定网络接口的信息
ip addr show eth0

# 配置网络接口的 IP 地址
ip addr add 192.168.1.100/24 dev eth0

# 配置网络接口的网关
ip route add default via 192.168.1.1

# 查看路由表
ip route show       # 简写 ip r s

# 删除网络接口中配置的 IP 地址
sudo ip addr del 192.168.1.100/24 dev eth0

2、nfs挂载

2.1、安装nfs客户端

# 更新软件包列表
sudo apt update  

#安装nfs服务
sudo apt install nfs-kernel-server

2.2、 创建本地挂载点

在本地系统上选择一个目录作为nfs共享的挂载点。这个目录可以是空的,因为在挂载时,nfs共享的内容会覆盖它。

# 1. 创建nfs挂载目录
sudo mkdir /mnt/nfs

# 2. 配置nfs共享
sudo vi /etc/exports

# 3. 添加如下行来配置共享目录
/mnt/nfs *(rw,sync,no_subtree_check,no_root_squash)

# 4. 导出配置并重启服务
sudo exportfs -r -a
sudo service nfs-kernel-server restart

2.3、挂载nfs共享

sudo mount -t nfs -o nolock $server_ip:/mnt/nfs/ /userdata/

3、ssh服务

3.1、安装SSH服务器

  1. 打开终端(在Ubuntu中,可以通过按下Ctrl+Alt+T组合键来打开终端)
  2. 确保软件包列表是最新的,执行以下命令:sudo apt update
  3. 安装SSH服务器,执行以下命令:sudo apt install openssh-server

3.2、确认SSH服务状态

  1. 在终端中输入以下命令来检查SSH服务的状态:sudo service ssh status
  2. 如果服务已经启动,将看到类似于“ssh start/running, process 1234”的输出
  3. 如果SSH服务未启动,可以使用以下命令手动启动SSH服务:sudo service ssh start

3.3、配置SSH在系统启动时自动启动

  1. 在终端中输入以下命令来检查SSH服务是否在系统启动时自动启动:sudo systemctl is-enabled ssh
  2. 如果输出为“enabled”,则表示SSH服务已经配置为在系统启动时自动启动。如果不是,可以使用以下命令启用自动启动:sudo systemctl enable ssh

3.4、启用ufw并开放SSH端口(默认为22)

  1. 安装ufw(如果尚未安装):sudo apt install ufw
  2. 启用ufw:sudo ufw enable
  3. 开放SSH端口:sudo ufw allow 22

3.5、ssh服务保活

  1. 编辑sshd_config文件:sudo vi /etc/ssh/sshd_config
  2. 取消 ClientAliveInterval 和 ClientAliveCountMax 字段的注释,并且设置为:ClientAliveInterval 60;ClientAliveCountMax 3,保存并退出
  3. 重启ssh服务:sudo systemctl restart sshd 或 sudo service ssh restart

4、安装fastboot服务

# 更新系统软件包
sudo apt update
sudo apt upgrade

# 安装fastboot
sudo apt install android-tools-fastboot

# 验证安装
fastboot devices # 如果设备正确连接并且fastboot已成功安装,则应该能够看到设备的序列号。

5、开启或关闭防火墙

5.1、开启防火墙

  1. 开启防火墙:sudo ufw enable
  2. 查看防火墙状态:sudo ufw status,如果终端输出“Status: active”,则表示防火墙已成功开启
  3. 检查ufw服务是否已启用开机自启:sudo systemctl is-enabled ufw;如果输出为enabled,则表示ufw已经设置为开机自启;如果不是,则用sudo systemctl enable ufw开开启

5.2、关闭防火墙

  1. 停止防火墙服务:sudo systemctl stop ufw.service
  2. 禁用防火墙服务,使其在下次系统启动时不会自动运行:sudo systemctl disable ufw.service
  3. 查看防火墙状态:sudo ufw status,如果终端输出“Status: inactive”,则表示防火墙已成功关闭

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ubuntu系统中,有很多常用的命令可以帮助我们进行文件和系统操作,包括文件及目录操作命令、磁盘及系统操作命令、文件压缩及解压命令、网络命令和帮助命令等。以下是一些常用的Ubuntu系统命令: 1. 文件及目录操作命令: - ls:列出目录内容 - cd:切换目录 - pwd:显示当前目录 - mkdir:创建新目录 - rm:删除文件或目录 - cp:复制文件或目录 - mv:移动文件或目录 - touch:创建空文件 - cat:查看文件内容 - grep:在文件中搜索指定内容 2. 磁盘及系统操作命令: - fdisk:用于给磁盘进行分区,查看磁盘情况 - df:显示文件系统的磁盘空间使用情况 - du:查看文件或目录的磁盘使用情况 - top:实时显示系统的资源占用情况 - ps:显示当前运行的进程信息 - kill:终止指定进程 - reboot:重启系统 - shutdown:关机 3. 文件压缩及解压命令: - tar:打包和解压文件 - gzip:压缩文件 - gunzip:解压缩文件 - zip:压缩文件和目录 - unzip:解压缩文件 4. 网络命令: - ping:测试网络连接 - ifconfig:显示和配置网络接口 - netstat:显示网络连接和统计信息 - ssh:远程登录安全外壳协议 - scp:在本地主机和远程主机之间安全地复制文件 5. 帮助命令: - man:显示某个命令的帮助手册 - help:显示Shell内置命令的帮助信息 这些只是Ubuntu系统中的一些常用命令,更详细的命令可以在命令行中使用man命令查看相应的帮助手册。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Ubuntu常用命令大全](https://blog.csdn.net/weixin_44607113/article/details/126057644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值