转载自 柒丨 的 Linux常用命令(Ubuntu)
Linux常用命令(Ubuntu)
目录
软件源的列表在 /etc/apt/soures.list 文件中
下载但是不安装:sudo apt-get download sl
下载软件的源码包:sudo apt-get source sl
1.8文件行数,单词数,字符数统计命令 ------> wc
2.2 文件内中字符串搜索的命令 -------> grep
1.1 Linux系统软件包的后缀
Ubuntu -----> .deb
redhat ------> .rpm
1.2 软件包命名规则
`
1. sl _3.03 -17build2 _amd64 .deb
2. | | | | |
3. 软件名 主版本号 修订版本号 架构 后缀
4. (x86 --> 32位架构--> i386
5. x64 --> 64位架构--> amd64)
`
1.3 离线安装软件命令 — dpkg
离线安装软件,不会自动安装依赖文件,需要自己手动安装依赖文件
安装离线软件 sl
sudo dpkg -i sl_3.03-17build2_amd64.deb
运行:sl
卸载:sudo dpkg -r sl
查看安装的列表:sudo dpkg -l sl
查看软件的安装路径:sudo dpkg -L sl
查看软件安装的状态:sudo dpkg -s sl
完全卸载: sudo dpkg -P sl
1.4 在线安装软件命令 — apt-get
如果有依赖文件,会自动安装依赖文件
软件源的列表在 /etc/apt/soures.list 文件中
先进行备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
然后拷贝源到sources.list文件中
更新源:sudo apt-get update
安装:
sudo apt-get install oneko//安装追鼠标的小猫
sudo apt-get install frozen-bubble//安装泡泡⻰
sudo apt-get install cmatrix//代码雨
sudo apt-get install bastet//俄罗斯方块
oneko & ----->后台运行
卸载:
sudo apt-get remove sl
下载但是不安装:sudo apt-get download sl
下载软件的源码包:sudo apt-get source sl
出现以下错误
E:You must put some 'deb-src' URIs in your sources.list
修改**/etc/apt/sources.list**文件,将deb开头的链接注释,将deb-src开头的链接取消注释。
清除下载的软件包:sudo apt-get clean
//清空这个/var/cache/apt/archives目录下的软件包
1.5 压缩和解压缩命令
只能对文件进行压缩,不能对目录进行压缩,且压缩后源文件会消失
gzip -----> 压缩后缀: .gz
bzip2 -----> 压缩后缀: .bz2
xz -----> 压缩后缀: .xz
gzip 要压缩的文件 ---------------------------- gunzip 要解压缩的文件
bzip2 要压缩的文件 ---------------------------- bunzip2 要解压缩的文件
xz 要压缩的文件 ---------------------------- unxz 要解压缩的文件
1.6 归档拆包命令 ---- tar
参数:
-c: 归档
-x: 拆包
-v: 显示详细的过程
-f: 指定文件,必须放到参数的最后边
归档同时进行压缩:
-z: gzip格式压缩
-j: bzip2格式压缩
-J: xz格式压缩
归档拆包不压缩:
tar -cvf *.tar 要归档的文件名
tar -xvf *.tar
归档并压缩和拆包并解压:
tar - zcvf *.tar.gz 要归档压缩的文件名
tar -jcvf *.tar.bz2 要归档压缩的文件名
tar -Jcvf *.tar.xz 要归档压缩的文件名
--------------------------------------------------------
tar -zxvf *.tar.gz 要拆包解压的文件名
tar -jxvf *.tar.bz2 要拆包解压的文件名
tar -Jxvf *.tar.xz要拆包解压的文件名
万能拆包解压命令:tar - xvf *.tar.*
tar -xvf *.tar.* -C 路径 解压到指定路径下
1.7 文件查看命令 ------ cat
cat 1.c -------> 将1.c 的内容显示到终端上
cat -n 1.c ---------> 将1.c 的内容显示到终端上,并显示行号
cat 1.c 2.c > 3.c ---------> 合并1.c 2.c 的内容到3.c中(1.c 2.c内容不变)
>: 将内容重定向到某个文件中,如果文件不存在则创建文件
1.8文件行数,单词数,字符数统计命令 ------> wc
wc 文件名
-l: 回显文件的行数
-w: 回显文件的单词数
-c: 回显文件的字符数
1.9 文件查看命令 ------> head tail
head 1.c 回显文件,默认前10行
head -11 回显文件前11行
tail 1.c 回显文件,默认后10行
tail -11 回显文件后11行
2.0 管道符 ------> |
shell 命令1 | shell 命令2 | shell 命令3 | …
前一个命令作为后一个命令的输入
2.1查看文件格式的命令 ------> file
file a.out:
a.out: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=640e309e6608decf9c59c43bcd3529b06b9640d6, not stripped
解释:
a.out: —>查看的文件名
ELF —>格式,可执行链接格式(Executab1e and Linkab1e Format,ELF)
64-bit —> 64位可执行程序
LsB shared object, —> 小端对齐x86-64,—> x86-64位的架构
version 1 (sYsv), —>版本
dynamica11y linked, —>动态链接
interpreter /1ib64/1d-7inux-x86-64.so.2,—>库
–>Bui7dID[sha1]=fc8dceeod420f03dcbeef7b66713780c6c419707,
for GNU/Linux 3.2.0,
not stripped —>没有压缩
2.2 文件内中字符串搜索的命令 -------> grep
参数:
-n: 显示行号
-R: 递归
-i: 忽略大小写
-w: 按照单词进行搜索
案例:拷贝/etc/passwd文件到ubuntu的家目录下的某个文件中
passwd文件用于存放ubuntu用户的相关信息的。解析passwd文件中的内容
linux 1000:1000: 1inux, , : /home/1inux:/bin/bash
| | | | | | |
用户名 密码 uid gid 描述信息 家目录 shell解析器
搜索linux所在行
grep linux /etc/passwd -nR
grep “^linux” /etc/passwd -nR
^: 搜索行头为linux
grep “linux$” /etc/passwd -nR
$: 搜索行尾为linux
grep “^linux$” /etc/passwd -nR
搜索一行为linux的字符串
2.3 文件位置查找命令 ----> find
格式:find 路径 -name 要查找的文件名
find / -name *字符串*
2.4 文件中字符串剪切的命令 -----> cut
格式:cut -d “分隔符” -f 域 文件名
linux1000:1000: 1inux, , :/home/1inux:/bin/bash
grep linux /etc/passwd | cut -d “:” -f 1,6 =======> linux:/home/linux
2.5 echo 回显命令
格式:
echo ${变量名}
echo 字符串
eg:
echo hello world
str=“hello world” echo ${str}
重定向:
>: 重定向一个文件中,是覆盖式的重定向
>>: 重定向一个文件中,是追加式的重定向
2.6 通配符
*: 通配任意长度,任意字符
?: 通配任意一个字符
: 通配括号内的任意一个字符
ls \[1,2,3,4\].c 通配文件为1.c 2.c 3.c 4.c 的文件
ls \[a-d\].c 通配文件为a.c b.c c.c d.c 的文件
ls \[^1-4\].c 通配除了文件为1.c 2.c 3.c 4.c 的文件
2.7 文件属性操作命令 ------> chmod
改变文件属性:
chmod u+x 1.c -------> 给用户添加执行权限
chmod g-r 1.c ---------> 给所属组删除读权限
chmod o+w 1.c ----------> 给其他人添加写权限
chmod a+x 1.c ---------> 给所有人添加执行权限
chmod ug+rw 1.c ------------> 给用户和所属组添加读和写的权限
改变文件属性(方法2):
chmod 777 1.c -------------> 给所有用户添加所有权限
**把权限对应的位置想象成二进制 **
rwx
111 ---------> 结果是7
rw-
110 ----------> 结果是6
-w-
010 --------------> 结果是2
2.8 软连接和硬链接
如果是目录,链接数表示当前目录下的子目录的个数
如果是文件,链接数表示当前文件的硬链接个数
创建软链接:(建议用绝对路径)
ln -s 绝对路径/被链接文件 绝对路径/链接文件
1>如果删除链接文件被链接文件依然存在
2>如果删除被链接文件,链接文件依然存在(内容为空)。
如果恢复被链接文件,链接又会重新生效。
3>软链接可以连接目录
4>对文件或目录创建软链接,连接数不会增加
5>软链接文件类型是l,跟被链接文件没有任何关系
注:Windows不支持linux的软链接
创建硬链接:
ln 绝对路径/被链接文件 绝对路径/链接文件
1>硬链接只能链接文件,不能链接目录
2>创建硬链接后,链接数会增加
3>硬链接文件相当于给文件起一个别名,在内存上只占用一个文件大小,删除链接文件或者被链接文件,文件依然存在,并且可以正常使用
4>硬链接不能跨文件系统
5>硬链接的iNode号相同(文件系统管理文件的编号)
ls -i ------------> 查看文件iNode号
2.9 修改文件所属的用户和组 -----> chown
chown root:root 1.c 将1.c所有的用户和组都改为root
chown :root 1.c 将1.c所属的组改为root
chown root 1.c 将1.c所属的用户改为root
chown root: 1.c 将1.c所有的用户和组都改为root
chgrp root 1.c 将1.c 所属组改为root
3.0 开关机命令
关机:
sudo shutdown 10:10 在10:10关机
sudo shutdown +10 10分钟后关机
sudo shutdown now 立即关机
重启:
sudo shutdown -r 10:10 在10:10重启
sudo shutdown -r +10 10分钟后重启
sudo shutdown -r now 立即重启 或者 sudo reboot