每个开发人员应该都应该学会linux系统的操作,起码基本的使用需要知道。本篇文章主要讲解linux系统的分支:Ubuntu的基本使用,不是很深入,但是日常操作绝对够用!!!。Ubuntu有成熟的桌面UI,并且支持纯命令行的模式操作,Ubuntu非常适合从Windows系统过渡到linux系统的用户。
官方网址:ubuntu
快捷键:
Ctrl + Alt + F1~9
补充:
众所周知图形界面占不少的内存,比如只想跑一个内存消耗大的服务程序,可以关闭图形界面只进入命令行界面。
操作方法如下
# 关闭图形界面只显示命令行界面
systemctl set-default multi-user.target
reboot #需要重启电脑生效
# 重启图形界面
systemctl set-default graphical.target
reboot #需要重启电脑生效
在桌面模式下,想打命令需要开启命令行终端。
右键空白处,选择“在终端打开”选项,即可打开终端,也可以使用快捷键的方式来快速启动终端
快捷键:
Ctrl + Alt + T
poweroff # 关掉电源
shutdown -h [关机时间] # 参数可以填 now、分钟、时:分
reboot
# 或者
shutdown -r [重启时间] # 参数可以填 now、分钟、时:分
cat XXX
echo XXX
sudo su
注:不建议在root用户下操作,平常涉及到高权限的情况,应该在普通用户下使用sudo 加命令的形式来操作
exit
logout
注:这是在命令行界面使用的
在图形界面下的话,点击右上角电源按钮——点击注销
pwd
cd 想进入的目录
cd .. # 返回上一目录
touch 文件名 # 创建文件
mkdir 文件夹名 # 创建文件夹
cp 目标文件 目标目录
mv 目标文件 目标目录
rm 文件
rm -r 文件夹
虽然可以通过echo加上>输出内容到文件,但是太简单,想编辑的话需要使用特殊的编辑器vim
vim 编辑的文件
在vim编辑器中需要默认进入只读模式,以下是一些vim的基本操作
i 进入编辑模式,可以输入内容ESC键:wq在Ubuntu系统安装软件有多种方式,比如apt、dpkg、源码编译、pip、npm等等,五花八门。其中源码编译还分多种方式而且相当复杂,这里只讲apt和dpkg两种方式来管理软件。
# apt 展示
apt list [--installed | --upgradable | --all-versions]
# dpkg 展示
dpkg-query -l
安装软件前需要更新一下apt管理器
sudo apt update
安装命令:
sudo apt install 软件包名
扩展名为.deb的安装包可以通过在桌面UI环境下双击启动包管理器自动安装,也可以使用命令行的方式启动安装。
命令如下:
sudo dpkg -i 安装包名称
apt有两种方式卸载软件。
① 只卸载包
sudo apt remove 软件包名
# 或者
# sudo apt autoremove 软件包名
② 卸载包并且卸载所依赖项
sudo apt purge 软件包名
# 或者
# sudo apt autopurge 软件包名
使用.deb文件来安装软件的方式是不能使用apt管理器来帮助我们卸载软件。
卸载命令:
sudo dpkg -r 软件包名
# 或者:
# sudo dpkg -P 软件包名
free [-h] # -h是可以转换成可以理解的格式
图形化任务管理器:
gnome-system-monitor
命令行任务管理器:
top
如果你的ubuntu电脑中有显卡的话,并且已经安装显卡驱动,可以使用以下命令查看现在显卡的占用状态
nvidia-smi # 这里只显示英伟达显卡的运行状态,AMD的可以百度搜索
在这里插入代码片对系统的资源想实时监控,可以使用watch命令
watch [-n 秒数] 命令
例: watch -n 0.2 free 每隔0.2秒刷新内存情况
| 命令 | 解释 |
|---|---|
ps -aux 或者ps -ef | 列出所有进程 |
kill | 杀死进程 |
敲命令之后返回的信息非常多,比如想查看某一进程的id,使用 ps -aux 命令会返回巨多的信息,眼花缭乱。所以需要对信息进行排序、筛选、搜索等操作
grep用来筛选有用的信息。可以将一些命令的输出信息通过管道的方式传递到grep命令来处理
grep [options] [pattern] [file ...]
grep的常用参数:
| 参数 | 解释 |
|---|---|
-n | 显示匹配的行号 |
-i | 不区分大小写 |
-v | 列出没有匹配模式的行 |
-o | 只输出匹配的内容 |
-c | 统计数量 |
常用正则表达式:
| 符合 | 解释 |
|---|---|
^a | 匹配开头是a的行 |
$a | 匹配结尾是a的行 |
. | 占一个字符 |
* | 占多个字符 |
[ ] | 匹配一个范围 |
例:
# 查找某一进程的信息
ps -aux | grep 进程名
ftp [ip] [port] # 默认远程ftp服务器端口为21
或者不先连接,直接输入ftp,在接下来的命令行中使用open [ip] [port]来连接
连接到服务器之后,命令行会提示输入用户名和密码,输入即可。
ls # 显示文件目录
cd # 切到文件夹
mkdir # 建立文件夹
get remote_file [local_dir] # 下载文件
put local_file [remote_dir] # 上传文件
exit # 关闭ftp连接 或者 bye 、 quit
需要注意,在哪个文件目录开的ftp工具,上传和下载都是默认基于这个目录。
如果需要下载到本地目录。可以使用: lcd 本地绝对文件目录 来切换路径
想向远程ftp服务器上传其他的目录的文件,local_file需要是绝对路径