ubuntu 学习笔记?
VirtualBox Ubuntu 挂载盘指令
手动挂载
sudo mount -t vboxsf [共享文件夹名称] [ubuntu挂载目录,建议\mnt\share]
自动挂载
不会,算了吧
基本指令
- ls 查看当前文件夹下的内容 list
- pwd 查看当前所在文件夹 print work directory
- cd [directory] 切换文件夹 change directory
- touch [data] 如果文件不存在,则新建文件 touch
- mkdir [directory] 创建目录 make directory
- rm [data] 删除指定文件 remove
- clear 清屏 clear
终端命令格式
command [-option] [parameter]
command : 命令名
[-option] : 选项,用于对命令控制
[parameter] : 传给命令的参数
rm -r [data] # -r为递归删除指定目录下的所有文件及文件夹,所以可以用来删除文件夹
帮助命令
command --help
man command
以上两种方式查询帮助信息中 man 更为详细,因为man是直接查手册manual 的
文件管理类指令
.123.txt 这种类似于.开头的文件为隐藏文件。就是用于隐藏文件。
/ 根目录
. 当前目录
.. 父目录
ls
控制选项 | 详细 |
---|---|
-a | 显示所有内容,包括隐藏文件 all |
-l | 以列表形式显示文件 list |
-h | 在列表显示的情况下,用于人性化的显示文件大小 |
多个控制选项可以连写,例如: -la
ls 可以与通配符(与正则有点差别)一起使用
通配符 | 详细 |
---|---|
* | 代表任意个字符 |
? | 代表任意一个字符 |
[abc] | 匹配a,b,c中任意一个 |
[a-f] | 匹配a-c中任意一个 |
cd
参数 | 详解 |
---|---|
回到主目录 /home/user/ | |
~ | 回到主目录 /home/user/ |
. | 保持当前目录 |
.. | 回到父目录(上级目录) |
- | 最近两次目录间切换 |
绝对路径:以 / 开头的或者以 ~ 开头的路径格式为绝对路径
相对路径:不是上面的这种就是相对路径,或者说相对于当前目录的路径
touch mkdir
touch 用于创建文件或修改末次修改日期,若不存在,则创建文件,存在,则修改日期
mkdir 可以使用控制符 -p 此控制符用于递归创建多个文件夹,例如 /a/c/v/b
rm
rm 删除的文件不能被回收站恢复!!!
-f 强制删除某个文件,不管存不存在
-r 递归删除某个文件
文件拷贝与移动指令
命令 | 含义 | 原文 |
---|---|---|
tree [directory] | 以树状图的形式列出目录结构 | tree |
cp [source] [locat] | 复制文件或目录 | copy |
mv [source] [locat] | 移动文件或目录或重命名文件或目录 | move |
tree
若不存在此命令 则需要 sudo apt install tree
-d 只显示目录而不显示文件
cp
cp 可以不指定复制后的名字
-i 覆写提示,建议每次都要用这个
-r 递归复制,一般用于文件夹
mv
mv 不需要 -r
-i 覆写提示
关于文件内容的指令
命令 | 含义 | 原文 |
---|---|---|
cat [name] | 查看文件,创建文件,文件合并,追加文件等操作 | concatenate |
more [name] | 分屏显示文件内容 | more |
grep [text] [name] | 搜索文本文件内容 | grep |
cat
参数 | 详解 |
---|---|
-b | 每行编号输出显示(不含空行) |
-n | 每行编号输出显示(含空行) |
(cat -n 与 nl 命令相同)
grep
参数 | 详解 |
---|---|
-n | 显示匹配行号 |
-v | 显示不包含匹配内容的内容 |
-i | 忽略大小写 |
grep可以用正则表达搜索内容,grep就是正则的意思
其余
echo 与 重定向
echo 类似于 print
重定向:
> 表示输出,即将内容输入到某个文件中(会覆盖原文件)
>> 表示追加输出,不会覆盖原文件
ps:由于markdown 将 > 识别为引用符号,故使用 \> 转义
重定向与echo联合使用例如:
echo "Hello Wrold !!!" > 123.txt
管道 |
管道可以将输出内容作为输入继续运行
常用之类为 more 与 grep
例如:
ls -lah ~ | more
ls -lah ~ | grep [ab]
第一条是分屏显示文件内容,第二条是只显示匹配到 a或b 的内容
远程管理
shutdown 关机/重启
shutdown [option] [time]
-r 表示重启
-c 表示取消本次操作
time 参数
参数 | 含义 |
---|---|
now | 立刻运行本操作 |
20:25 | 表示当日20:25分执行本操作 |
+10 | 表示10分钟后执行本操作 |
默认1分种后执行本操作 |
查看或配置网卡信息 ifconfig ping
指令 | 含义 | 原文 |
---|---|---|
ifconfig | 查看或配置当前计算机的网卡配置信息 | configure a network interface |
ping [ip] | 检测连接目标ip是否正常 | ping |
ps: 127.0.0.1 为本地回环地址,用于测试本地网卡是否工作正常
ps: liunx 可以用 ctrl + c 来停止运行指令
远程登录和复制文件 ssh scp
指令 | 含义 | 原文 |
---|---|---|
ssh [name@ip] | 关机/重新启动 | secure shell |
scp [name@ip:name] | 远程复制文件 | secure copy |
常用端口号
服务 | 端口号 |
---|---|
SSH服务器 | 22 |
Web服务器 | 80 |
HTTPS | 443 |
FTP服务器 | 21 |
ssh 指令
ssh [-p port] user@remote
user 是在远程主机上的用户名
reomte 是远程及其的地址
port 是ssh的监听端口
(服务器需安装包。sudo apt-get install openssh-server)
exit 退出ssh链接指令
scp 指令
scp -P port localdir user@remote:serverdir 本地上传服务器
scp -P port user@remote:serverdir locakdir 服务器上传本地
-r 复制整个目录(递归上传或下载)
用户权限相关指令
指令 | 含义 | 数字表示 | 原文 |
---|---|---|---|
r | 可读 | 4 | read |
w | 可写 | 2 | write |
x | 可执行 | 1 | execute |
ls 输出详解:
-rw-rw-r-- 1 dedicatus1979 dedicatus1979 0 2月 15 00:11 123
-rw-rw-r-- 1 dedicatus1979 dedicatus1979 51 2月 16 00:01 123.txt
drwxrwxr-x 2 dedicatus1979 dedicatus1979 4.0K 2月 15 00:28 bbb
其中第一列第1列表示文件形式,- 表示文件,d 表示文件夹
第一列第2列开始至第10列,每3列为分割,表示的是用户权限,其中第2-4列表示的是文件拥有者的权限,第5列至第7列表示的是文件所在的群组所拥有的权限,第8列至第10列为其他用户的权限
第二列表示的是硬链接数
第三列表示的是文件的拥有着
第四列表示的是文件所在的群组
第五、六、七列分别是文件大小,修改日期,文件名
权限修改指令 chmod
chmod +/- rwx 文件名|目录名
(后面还有此指令的高级用法)
超级用户 sudo
sudo ...(正常指令,或者是普通用户不能使用的指令)
su好像不是super的意思,root账户才是最高级的账户
组管理指令
指令 | 含义 |
---|---|
groupadd 组名 | 添加组 |
groupdel 组名 | 删除组 |
chgrp -R 组名 文件/目录名 | 修改文件/目录所在组 |
以上指令需要sudo运行
chgrp 中的 -R 是指递归地将文件夹内所有文件都移动至某个组
查看、确认组信息的方法: cat /etc/grup
用户管理指令
指令 | 含义 | 注释 |
---|---|---|
useradd -m -g 组 新建用户名 | 添加新用户 | -m是自动新建家目录,-g是指定用户所在的组,否则会自动建立与用户名同名的组 |
passwd 用户名 | 设置用户密码 | 普通账户可以用passwd修改自己的账户密码 |
passdel -r 用户名 | 删除用户 | -r能自动删除家目录 |
查看、确认用户信息的方法:cat /etc/passwd | grep 用户名
用户信息指令
命令 | 含义 |
---|---|
id 用户名 | 查看用户的uid与gid |
who | 查看当前所有登录的用户列表 |
whoami | 查看当前登录用户的账户名 |
usermod
/etc/passwd 文件内的内容:
wu: x: 1001: 1001: : /home/wu: /bin/sh
其中每列分别为用户名、密码(x为加密)、uid、gid、用户全名或本地账号、家目录、登陆用shell
主组:gid内的组
附组:/etc/group 内的组
修改用户的主组:
usermod -g 组 用户名
修改用户的附组:
usermod -G 组 用户名
修改用户登录shell
usermod -s /bin/bash
默认其余用户的shell为dash,bash比较好用
which
which指令可以查看指令的源文件在哪里,例如 which ls
切换用户指令
指令 | 含义 |
---|---|
su - 用户名 | 用于切换用户,中间的 - 表示切换用户时顺带切换家目录 |
exit | 退出当前用户 |
su 如果不加任何参数的话,则是切换至root账户,首次进入root账户得先设置root密码
root功能很强大,不建议随便使用这个账户
文件权限修改指令
指令 | 含义 |
---|---|
chown | 修改文件拥有者 |
chgrp | 修改组 |
chmod | 修改权限 |
chown
修改文件/目录拥有者
chown 用户名 文件名/目录名
chmod 高级用法
递归地修改文件权限
chmod -R 755 文件名
其中755的含义是:每位数表示拥有者权限、组权限、其他用户权限。数字值为权限的数字表示和。
例如:7表示 rwx (4+2+1),5表示 r-x (4+1)
系统相关指令
时间与日期
指令 | 含义 |
---|---|
cal | 查看日期 -y 选项可以查看一年的日历 |
date | 查看系统时间 |
磁盘信息
指令 | 含义 |
---|---|
df -h | disk free 显示磁盘剩余空间 |
du -h [目录] | disk usage 显示目录下文件大小 |
参数说明:
参数 | 说明 |
---|---|
-h | 以人性化方式显示文件大小 |
进程信息
指令 | 含义 |
---|---|
ps aux | process status查看进程的详细状况 |
top | 动态显示运行中的程序并排序 |
kill [-9] 进程代号 | 终止指定代号的进程,-9表示强行终止 |
ps的选项参数说明:
参数 | 含义 |
---|---|
a | 显示终端上的所有进程,包括其他用户的进程 |
u | 显示进程的详细状态 |
x | 显示没有控制终端的进程 |
使用Kill指令时,最好只终止当前用户开启的进程,不要终止root的进程,可能会崩溃
其他指令
查找文件 find
find [路径] -name "*.py"
用find寻找结尾为.py的文件
连接 ln
ln -s 被链接的源文件 链接文件
建立文件的软链接,类似于快捷方式
没有-s创建的是硬链接文件,有-s创建的是软链接文件。源文件路径应该使用绝对路径
打包/解包、压缩/解压缩 tar
打包文件
tar -cvf 打包文件.tar 被打包的文件及路径
解包文件
tar -xvf 打包文件.tar
tar的选项说明
选项 | 含义 |
---|---|
-c | 生成档案文件,创建打包文件 |
-x | 解开档案文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称,f后面一定是.tar文件,所以f一定在最后 |
-z | 自动打包后gzip压缩 |
-j | 自动打包后bzip2压缩 |
-C | 指定解包的目标路径 |
gzip压缩
压缩文件:
tar -zcvf 打包文件.tar.gz 被压缩的文件的路径
bzip2压缩
压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件的路径
apt安装/卸载软件
apt : advanced packaging tool
安装软件
sudo apt install 软件包
卸载软件
sudo apt remove 软件名
更新已安装包
sudo apt upgrade