目录
- Linux命令
Linux命令
1.软件安装
1.1离线安装----dpkg
sudo dpkg -i 软件包名
:安装软件
man 软件名
:查看软件使用说明
sudo dpkg -l 软件名
:查看安装的软件信息
sudo dpkg -L 软件名
:查看软件安装路径
sudo dpkg -r 软件名
:卸载软件(保留软件的配置信息)
sudo dpkg -P 软件名
:完全卸载
1.2在线安装----apt-get
/etc/apt/sources.list :记录服务器地址
sudo apt-get update
:更新本地源
sudo apt-get install 软件名
:安装软件
sudo apt-get remove 软件名
:卸载软件
sudo apt-get download 软件名
:下载软件包,不安装
sudo apt-get source 软件名
:下载源代码
sudo apt-get clean
:清理安装包
安装软件的软件包存放在/var/cache/apt/archives目录下,clean会全部清除
2.压缩与归档
2.1压缩与解压缩
gzip---->.gz
bzip2--->.bz2
xz------>.xz
压缩率依次递增,压缩速率依次递减
gzip file1
:将文件按 gzip 格式压缩,生成 file1.gz 文件,压缩后源文件被删除
gunzip file1.gz
:解压
bzip2 file1
:将文件按 bzip2 格式压缩,生成 file1.bz2 文件,压缩后源文件被删
除
bunzip2 file1.bz2
:解压
xz file1
:将文件按 xz 格式压缩,生成 file1.xz 文件,压缩后源文件被删除
unxz file1.xz
:解压
2.2归档(打包)和解归档
归档命令 tar
-c 归档
-x 解归档
-v 显示详细信息
-f 必须放在选项最后
附加选项
-z 按gzip格式压缩
-j 按bzip2格式压缩
-J 按xz格式压缩
tar -cvf dir.tar dir
:将目录dir及其子目录下的所有文件归档成一个文件dir.tar并显示过程信息
tar -xvf dir.tar
:将dir.tar 解归档 解归档之后 归档文件也不会被删除归档的同时进行压缩
tar -zcvf dir.tar.gz dir
:归档的同时将文件按 gzip 格式压缩
tar -zxvf dir.tar.gz
:解归档并解压缩
tar -jcvf dir.tar.bz2 dir
:归档的同时将文件按 bzip2 格式压缩
tar -jxvf dir.tar.bz2
:解归档并解压缩
tar -Jcvf dir.tar.xz dir
:归档的同时将文件按 xz 格式压缩
tar -Jxvf dir.tar.xz
:解归档并解压缩
通用的解归档并解压缩方式:
tar -xvf dir.tar.gz
tar -xvf dir.tar.bz2
tar -xvf dir.tar.xz
3.查看文件内容
3.1cat命令
cat 文件名
:查看文件全部内容
cat -n 文件名
:带行号显示文件全部内容
3.2head命令
head file
:显示文件file开头的内容 默认显示前10行
head -n 20 file
:显示file文件前20行内容,等价于head -20 file
3.3tail命令
tail file
:显示文件file结尾内容 默然显示后10行
tail -n 5 file
:显示文件file最后5行内容,等价于tail -5 file
tail -f 文件名
:动态显示文件内容的新增情况 一般多用于查看日志文件
|
:管道符,将前面命令的结果作为后面命令参数
#查看file文件的第31~35行的内容
head -n 35 file | tail -n 5
3.4more命令
more file
:以百分比形式显示文件file的内容
按回车键继续向下显示
按q键退出
3.5less命令
less file
:滚动显示文件内容
按上下方向键控制滚动方向
按q退出
3.6od命令
od -c 二进制文件名
:查看二进制文件内容
4.统计文件内容命令
wc 文件名
:统计文件内容
4 7 47 file
行数 单词数 字符数 文件名
wc命令选项
-l 行数 line
-w 单词书Word
-c 字符数char
wc -l *.c
:查看当前路径下所有.c文件的行数
5.检索文件内容命令
grep "string" file
:检索文件file中所有包含string的行
grep命令常用选项
-n 显示行号
-i 忽略大小写
-w 精确查找 只查找string独立出现的地方 有前缀和后缀都不行
-v 反选 查找不含有string的行
-R 递归查找,可以检索子目录下内容
grep -nR "string" *
:在当前路径及子目录下的所有文件中 查找包含string的行 并且显示行号
grep "^string" file
:检索以string开头的行
grep "string$" file
:检索以string结尾的行
grep "^string$" file
:检索string独立成行的行
6.查找文件命令
find ./ -name file
:在当前目录及子目录查找所有名为file的文件
find /home/linux -name file
:在/home/linux目录及子目录下查找所有名为file的文件
find ./ -type d
:在当前目录及子目录下查找所有的 目录文件
类型可以写这些种:bsp-lcd 注意:普通文件时 要用 f 而不是 -
find ./ -type f
:在当前目录及子目录下查找所有的 普通文件
**find ./ -name *.c **
这种写法不是查找当前目录及子目录下的所有 .c 文件
他是先匹配当前目录下所有的.c文件 然后把他们作为 find 命令的参数
如果当前目录下只有一个.c 文件,那么执行时不会报错,但是结果也不表示查
找所有.c
如果当前目录下有多个.c文件,那么执行时 会报错 find 命令参数过多
find ./ -type f | grep "\.c$"
find ./ -type f | grep "\.c$" |wc -l
#统计当前目录及子目录下所有.c文件的个数
find ./ -type f | grep "\.c$" |xargs wc -l
#统计当前目录及子目录下所有.c文件的行数
7.文件内容截取命令
cut选项
-d 分隔符
-f 选择那些区域
注意:
- cut命令是以行为单位操作的,如果某一行没有指定的分隔符 就不处理
- 如果指定的分隔符是特殊的,如 双引号 或者 单引号 需要使用转义字符 \"
文件file内容如下:
北京市:海淀区:西三旗:数字文化产业园:B座:2层
aa-bb-cc-dd-ee-ff
cut -d : -f 3 file
西三旗
aa-bb-cc-dd-ee-ff
cut -d : -f 3,5,6 file
西三旗:B座:2层
aa-bb-cc-dd-ee-ff
cut -d - -f 3,4 file
北京市:海淀区:西三旗:数字文化产业园:B座:2层
cc-dd
linux系统中 /etc/passwd 文件中记录的是系统中用户的信息
linux系统中 /etc/group 文件中记录的是系统中组的信息
/etc/passwd 中记录的信息说明:
linux : x : 1000 : 1000 : linux,,, : /home/linux : /bin/bash
用户名 有密码 用户id 组id 描述字段 用户的家目录 默认的命令行解释器
#编写命令,显示出 linux 用户再 /etc/passwd 文件中的行号
cat /etc/passwd | cut ‐d : ‐f 1 | grep ‐n "^linux$" | cut ‐d : ‐f 1
8.通配符
8.1*
通配任意长度的任意字符
8.2?
通配一个长度的任意字符
8.3[字符1字符2...字符n]
通配 [] 中的任意一个字符
8.4[起始字符-结束字符]
通配 起始字符到结束字符 间的任意一个字符
8.5[^字符1字符2...字符n]
通配不包含 [] 中字符的任意一个字符--反选
9.关机重启
9.1关机
sudo shutdown -h now
:立即关机
sudo shutdown -h 10:30
:10:30关机
sudo shutdown -h +30
:30分钟后关机
9.2重启
sudo shutdown -r now
:立即重启sudo reboot
sudo shutdown -r 10:30
:10:30重启
sudo shutdown -r +30
:30分钟后重启
10.用户管理命令
10.1添加用户
sudo adduser 用户名
:添加用户
用户创建成功后,会在 /etc/passwd 文件中新增新用户的信息
会在 /etc/group 文件中新增组的信息
新创建的用户不允许使用sudo以管理员身份执行命令。
可以用下面的方式给新用户添加 sudo 权限
- 切换到root用户 su root
- 给 /etc/sudoers 文件添加写权限 chmod u+w /etc/sudoers
- 打开文件 vi /etc/sudoers
- 复制 root ALL=(ALL:ALL) ALL 粘贴到下面 将新行中的用户名改成户名 :wq保存退出
- 给 /etc/sudoers 文件删除写权限 chmod u-w /etc/sudoers 一定要改去防止被误修改!
- 退出 root 用户 exit
10.2切换用户
su 用户名
10.3查看当前使用用户
whoami
10.4退出当前用户
exit
10.5修改用户密码
passwd 用户名
:修改用户的密码
10.6修改用户信息
sudo usermod -c "beijing" user2
:将用户user2的描述字段改为beijing
sudo suermod -d /home/test user2
:将用户user2的家目录改为/home/test(慎改)
sudo usermod -l hqyj user2
:将用户user2的用户名改为hqyj
sudo usermod -g new_group user2
:将用户user2的所属组改为new_group
10.7查看用户简略信息
id 用户名
10.8删除用户
sudo deluser 用户名
10.9删除组
sudo delgroup 组名
11.文件权限管理
权限分为三组
rw- rw- r--
所属用户权限 所属组权限 其他人权限
r 读权限
w 写权限
x 执行权限
- 没有对应权限
11.1修改文件权限
chmod
只有文件的所属者和root用户可以修改文件的权限
11.1.1通过+-方式修改
u --> user 所属用户
g --> group 所属组
o --> other 其他人
a --> all 所有用户
r --> read 读
w --> write 写
x --> exec 执行权限
chmod u+w file
:给文件file的所属用户添加写权限
chmod g-r file
:给文件file的所属组减掉读权限
chmod o+r file
:给文件file的其他人添加读权限
chmod a+x file
:给文件file的所属用户所属组其他人都添加执行权限
11.1.2通过八进制数修改
rwxrwxrwx --> 0777
rw-r----- --> 0640
chmod 0640 file
:将文件的权限改成rw-r-----
chmod 0662 file
:将文件的权限改成rw-rw--w-
11.2修改文件所属用户
只有root用户可以修改文件的所属用户
sudo chown 新的用户 文件名
11.3修改文件所属组
只有root用户可以修改文件的所属组
sudo chgrp 新的组 文件名
12.链接文件
12.1软连接
ln -s 被链接的文件 要生成的软链接文件
一旦链接位置变化,链接就失效
12.2硬链接
ln 被链接的文件 要生成的硬链接文件
标签:文件,tar,字符,sudo,高级,用户,命令,file,Linux From: https://www.cnblogs.com/lvrencat07-V/p/18078124硬链接相当于给文件起了个别名