Linux相关知识备忘(随时更新)

1、dpkg

Debian Packager,Debian包管理器。可以方便的对软件进行安装更新和移除。

(1)安装

dpkg -i xx.deb

(2)卸载,但不删除配置文件

dpkg -r xx

(3)卸载,同时删除配置文件

dpkg -P xx

(4)列出安装的软件包

dpkg -l [ | grep keyword ]

(5)列出一个指定包的所有文件以及安装位置

dpkg -L xx

 2、windows和linux主机同步文件

scp 命令

(1)win -> linux

scp  源文件   user@host:/path 

scp -r 源目录  user@hosst:/path

(2)linux -> win

scp user@host:/path/file   d:\path

scp  -r  user@host:/path/xx   d:\path

 

3、环境变量

同一个边境变量之间以冒号 ":" 分割

(1)打印所有环境变量

env

(2)打印某一个环境变量

echo $PATH

(3)修改环境变量

a. 临时

export PATH=$PATH:/path

b.永久1

在 /etc/.bashrc 文件中加入

export PATH=$PATH:/path, 然后source  /etc/.bashrc 使其生效

c.永久2

在 /etc/profile 文件中加入

export PATH=$PATH:/path, 然后source  /etc/profile 使其生效

 

 

 4、tar打包解包

(1)典型打包

tar -cvf   name.tar   dir1 dir2 ... dirn, 把几个dir目录打包成一个 name.tar 文件

(2)典型解包

tar -xvf   name.tar  或者   tar -xvf  name.tar  -C 目的目录

(3)打包并压缩为tar.gz

tar -zcvf  name.tar.gz  dir1 dir2 ... dirN

(4)解压并解包tar.gz

tar -zxvf  name.tar.gz   -C  目的目录

(5)打包并压缩为tar.bz2

tar -jcvf  name.tar.bz2  dir1  dir2 ... dir N

(6)解压并解包tar.bz2

tar   -jxvf  name.tar.bz2  -C 目的目录

 

5、系统调用

打印系统调用

ausyscall --dump

会列出系统调用编号和系统调用名

 

6、把用户添加到组

sudo  usermod -a -G  组名 用户名

 8、把用户从组里移除

sudo   gpasswd  -d   用户名   组名

9、打印操作系统信息

cat /etc/os-release

10、打印CPU信息

lscpu

cat /proc/cpuinfo

7、rpm包使用

(1) 安装

安装时必须使用 全名,

rpm -ivh  xx.xx.xx.rpm

(2)升级

rpm -Uvh xx.xx.xx.rpm   不要求有较低版本存在

rpm -Fvh  xx.xx.xx.rpm  要求必须有较低版本存在

(3)卸载

rpm -e  xx.xx.xx.rpm
(4)查询

rpm -q xx 查询xx包有没有安装

rpm -qa   查询所有包

rpm -qi   xx  查询xx包的详细信息

rpm -ql  xx  查询xx包在计算机上安装的所有文件

rpm -qlp  xx.xx.xx.rpm 查询这个rpm包里的所有文件

rpm -qf   /bin/ls  查询某系统文件属于哪个rpm包

rpm -qR xx   查询xx包的依赖关系

rpm -qRp xx.xx.xx.rpm 查询xx.xx.xx.rpm软件包的依赖关系

 

8、查找命令

(1)whereis

从数据库中查找,默认一星期更新一次。文件名完全配配、但可有后缀名、遍历包含$PATH的多个目录、找出所有匹配文件。

与find相比,速度快,非实时格更新; 只能用于搜索【可执行文件】,在linux中,系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis的时候,都是在这个数据库中查找,所以在使用whereis的时候,有时候会发现刚创建的文件没找到,或者已经删掉的文件还在的情况。

参数:

whereis -b 文件或者目录名称 : 只找二进制文件
whereis -m 文件或者目录名称 : 只找在说明文件manual路径下的文件
whereis -s 文件或者目录名称 : 只找source源文件
whereis -s 文件或者目录名称 : 没有说明文档的文件

(2)locate

与whereis类似,也是搜索数据库(/var/lib/mlocate/mlocate.db),执行命令 udpatedb 后可更新数据库。

配置文件:/etc/updatedb.conf 

文件内容:

PRUNE_BIND_MOUNTS = "yes" (开启搜索限制,yes为后面三项都生效。no为 后面三项都不生效)

PRUNEFS = (搜索时,不搜索的文件系统)

PRUNENAMES = (搜索时,不搜索的文件类型)

PRUNEPATHS = (搜索时,不搜索的路径)

————————————————

-d,--databaseDBPATH 使用DBPATH代替默认数据库(/var/lib/mlocate/mlocate.db)

-h,--help 帮助

-i,--ignore-case 匹配pattern时忽略大小写

-r,--regexp REGEXP 搜索基本正则表达式REGEXP代替pattern

--regex pattern是扩展正则表达式

-V,--version 版本信息
————————————————
(3)which

文件名完全匹配、有后缀名也不行、遍历$PATH、找到一个匹配的文件即退出。

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

搜索【可执行文件】,

 

(4)find

不依赖任何数据库,从磁盘搜索文件。

$ find . -name "my*" :搜索当前目录(含子目录,以下同)以my开头的文件。
$ find . -name "my*" -ls :搜索当前目录以my开头的文件,并显示它们的详细信息。
$ find . -type f -mmin -10 :搜索当前目录所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。
$find / -name zgz :搜索/目录下(含子目录)的zgz文件
$find / -name ‘*zgz*’ :搜索/目录下(含子目录)名字含'zgz'字符的文件

 

 

 

 

 

 

 

参考文献

https://blog.csdn.net/bandaoyu/article/details/103901995

 

posted on 2022-12-08 18:00  崔好好  阅读(30)  评论(0编辑  收藏  举报

导航