LINUX常用命令合集

1、常用命令

 

date可以查看,设置当前系统时间,可以用date+%Y中间符号随意%m随意%d格式化显示时间 date −s可以修改当前系统时间

 

hwclock用来显示硬件时钟时间

 

cal用来查看日历

 

uptime用来查看系统运行时间

 

echo可以显示输入内容,后面跟着任何字符串都会返回回来

 

cat可以用来显示文件内容,会显示全部内容

 

more可以用来翻页显示文件内容,不能上下翻页

 

less可以用来翻页显示文件内容,可以上下翻页

 

head用来显示文件的头几行,默认10行,可以用-n来指定显示多少行

 

tail用来显示文件的末尾几行,默认10行,可以用-n指定显示行数−f可以跟踪显示文件更新,一般用于查看日志

 

lspci用来查看pci设备,查看硬件信息可以-v查看详细信息

 

lsusb可以用来查看usb设备,比如usb摄像头,可以加-v来查看详细信息

 

 

lsmod可以用来查看加载的模块(驱动),比如显卡驱动等

 

shutdown可以用来关闭,重启计算机 -h关闭计算机-r重新启动

 

shutdown-h now 立即关机

shutdown-h +10十分钟后关机

shutdown-h 23:30 十一点半时关机

 

shutdown-r now立即重启

 

poweroff可以用来立即关闭计算机

reboot可以用来立即重启计算机

 

zip+文件名+要压缩的文件的文件名 压缩

unzip+文件名解压缩

gzip+文件名进行压缩

 

tar可以用来归档文件

tar -cvf 创建归档名+要归档的文件

tar-xvf释放一个归档+要解开的归档的文件名

tar-cvzf+归档后的名字.tar.gz+要归档的文件或文件夹(最常用)

  

可以用which来查找文件路径

which -a 文件名

 

可以用whereis或者locatn来查找文件,如果找不到才用find

 

 

locate用来快速查找文件和文件夹

locate +需要查找的文件和文件夹,默认一天更新一次数据库也可用update手动立即更新数据库

 

find可以用以高级查找文件,文件夹

find 查找位置 查找参数

 

find .-name *su* 在当前目录下查找文件名包含su的所有文件 .是代表当前目录,name是条件,

 

find /-name *.conf 在根目录查看名字是.conf结尾的文件 /是根分区

 

find /-perm 777 在根目录下查找所有权限为777的文件

 

find / -type d返回所有的目录 查找所有链接type l

 

 

find .-name “*linuxcast*” -exec  ls-l{}\;查找包含了linuxcast的文件,查看查找出来的结果的文件的详细信息。除了ls-l外其他都是固定格式,

 

find-user 基于用户查找文件

find-ctime基于时间查找,比如查找最近两天修改过的文件

find-size基于文件大小查找

 

cp 源文件 目标文件(可以是新建)复制文件

在cp后面+ -r可以复制文件夹,+v可以显示详细参数

 

mv可以移动文件,用法与cp一致,不指定目录,直接在当前目录的话就是重命名

 

rm可以删除文件 + -r可以删除文件夹 -i可以交互式的删除  -f可以强制删除,

 

mkdir 可以创建一个目录

rm可以删除一个目录,但是不能删除非空文件夹

 

 

 

2、分区命令

 

fdisk用在操作分区,只有超级权限用户才能用此命令

 

fdisk/dev/sdb进入目标磁盘对其操作,进入后可以用m提示操作

 

partprobe可以让内核更新分区信息,不然就要用重启的方式更新

 

mke2fs用于创建文件系统

mke2fs -text4 /dev/sd3 意思是使用ext4的文件系统 跟要创建的硬盘

-bblocksize 指定文件系统块大小 跟数字

-c 建立文件系统时检查坏损块

-L label 指定卷标 名字

-j 建立文件系统日志

 

mkfs也可以用于创建文件系统,比mke2fs简单,但不能做精细化控制,比如指定文件快大小等

 

mkfs.ext4/dev/sdb3

 

 

dumpe2fs可以用来查看分区文件系统信息

dumpe2fs/dev/sdb3

 

e2label可以用来给文件系统加标签

e2label/dev/sdb1 如果只跟目标路径,是查看文件系统标签

 

e2label/dev/sdb1 linuxcast 跟了第二个参数这可以将文件系统加上linuxcast标签,一般不区分大小写,但是写标签最好使用大写

 

fsck可以用来检查并修复文件系统

fsck/dev/sdb3  检查文件系统必须先卸载。

-y是不提示而直接进行修复,不然会有交互式即每个错误都要恢复yes or no

 

默认fsck会自动判断文件系统类型,当文件系统损坏比较严重,也可以使用-t参数来指定文件系统类型,否则可能更加损坏文件系统

fsck -text4 /dev/sdb3

 

对于识别为文件的损坏数据(文件系统无记录),fsck会将该文件放入lost+found目录,每个格式化了的磁盘(就是创建了文件系统)都会产生一个lost+found目录

 

系统启动的时候都会进行fsck操作

 

 

创建好文件系统后,需要挂载到一个目录才能使用:通常是挂载在/mnt目录下,实际上挂载在什么目录下都可以,建议挂载到mnt目录

 

 

通过mount可以用来将格式化好的分区和磁盘挂载到一个目录下

mount/dev/sdb3(要挂载的分区),/mnt(挂载到那个目录)

 

不带任何参数的mount命令可以查看挂载的文件系统

 

-t 指定文件系统类型,一般会自动识别

-o 可以指定其他挂载参数

ro rw 以只读或者读写形式挂载,默认是rw

sync 代表不使用缓存,而对所有操作直接写入

mount -oremount,sync /dev/sdb1 /mnt 意思是重新挂载修改为不使用缓存,直接写入

 

async 代表使用缓存,默认使用async

noatime 代表每次访问文件时不更新文件访问时间

atime 代表每次访问文件时,更新文件的访问时间,默认使用atime,比较耗性能

 

remount 重新挂载文件系统

mount -oremount,ro /dev/sdb3 /mnt这条命令的意思是重新挂载带ro参数,改变文件系统为只读

 

umount可以用来卸载已挂载的文件系统

umount 文件系统或者挂载目录

umount/dev/sdb1 等于 umount /mnt

如果进程正在被使用可以用 fuser -m /mnt查看使用文件系统的进程,也可以用lsof查看正在被使用的文件,lsof /mnt

 

可以通过修改etc目录下的fstab文件来实现自动挂载文件系统

/dev/sdb1(需要挂载的设备)  /mnt(挂载目录,挂载点)  ext4(文件系统) defaults(挂载选项如ro,sync等) 0  0(dump,fsck相关选项)

 

 

3、用户及权限

 

useradd 可以用来创建一个新用户

useradd +用户名

-d 家目录

-s 登陆shell

-u userid

-g 主组

-G 附属组 最多31个用‘,’分割也可以修改etc下的passwd文件实现,不过一般不建议这样改

 

 

usermod可以用来修改用户信息

usermod +参数+要修改的用户的用户名

 

-l 新用户名

-u 新userid

-d 用户家目录位置

-g用户所属主组

-G用户所属附属组

-L 锁定用户使其不能登录

-U 解除锁定

 

可以用userdel 删除用户,+-r参数可以删除用户家目录,否则默认不删除家目录

 

groupadd可以用来创建组

groupmod 可以修改组信息+ -n参数修改组名

groupmod-n newname oldname

-g修改组id

groupmod-g newGid oldGid

 

groupdel可以用来删除组

 

 

chown可以改变文件的所属用户

chown scj(用户名) linuxcast.net(文件名)+-R可以递归的修改目录下的所有文件

 

chgrp可以改变文件的所属组

chgrp scj(用户名) linuxcast.net(文件名)+-R可以递归的修改目录下的所有文件

 

可以用chmod修改文件权限

chmod 模式 文件

 

u g o分别代表用户,组,其他

a可以代表ugo

+-代表加入或者删除对应权限

r w x代表三种权限

同样可以+R可以递归修改目录下的文件权限也被修改

 

可以通过数字修改权限,使用数字权限必须ugo都修改,不能单独修改某个

 

r=4 w=2x=1 可以通过相加的形式修改权限

chmod 660文件目录或者文件名

660=u=rwg=rw o=0代表没有权限

 

每一个终端都具有一个umask属性,来确定新建文件,文件夹的默认权限

可以用umask来查看设置umask值

umask使用数字权限方式表示

目录(文件夹)默认权限:777-umask

文件默认权限666-mask

7=r(4)+w(2)+x(1)

一般情况普通用户的umask是002,root用户默认是022

 

umask+022可以更换普通用户的umask值,达到和root用户一样权限的新建文件的权限

 

特殊权限

1:suid 以文件的所属用户身份执行,而不是执行文件的用户,对目录(文件夹)没有影响

设置命令:chmod u+s+文件名

 

2:sgid  以文件所属组身份执行文件,对目录(文件夹)的影响是在该目录(文件夹)下创建的任意新文件的所属组与该目录(文件夹)的所属组相同

设置命令:chmod g+s+文件名

 

3:sticky 对文件没有影响,对目录(文件夹)有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件

设置命令:chmod o+t+文件名

 

与普通权限一样,特殊权限也可以用数字表示

suid=4sgid=2 sticky=1

 

4755=suid+rwx+rx+rx,第一位表示特殊权限位

 

 

4、vim文本编辑器

 

vim+目标文件路径,如果文件存在则打开,如果不存在则在还目录下新建

vim启动后进入命令模式

在命令模式按i可以进去插入模式

在命令模式按:进入ex模式

 

在命令模式下

i 在光标前插入文本

o在当前行下面插入新行

dd删除整行

yy将当前行放入缓冲区(复制当前行)

p将缓冲区的内容复制在光标后(粘贴)

 

数字+yy可以复制多行

r可以替换当前字符

/可以查找关键字,可以按n键查找

 

 

:w 保存当前修改

:q退出

:q! 强制退出,不保存修改

:x 保存修改并退出,相当于:wq

:setnumber 显示行号

:!执行一个系统命令并显示结果

:sh 切换到命令行,使用 ctrl+d切换回vim

 

5、根目录下的文件

 

bin目录下保存的是代表可执行文件

boot目录是引导目录

dev目录保存的是计算机硬件设备

在linux下硬件设备都被抽象成了一个文件

etc目录下保存了几乎所有的配置文件home目录是所有用户的家目录,每存在一个用户还目录下就会有一个对应的文件,lib目录存放的是库文件,

media目录是挂载文件,比如插入了u盘会挂载在还目录下,mnt目录也是

opt目录通常用来装一些大型软件,

proc目录是系统实时信息,只存在内存中的虚拟数据 ,

sbin跟bin存放的内容都是可执行文件,但该目录只有超级权限用户才能执行,都是些比较危险的,比如磁盘分区,格式化,sys目录是我们系统底层的信息。

tmp目录是临时目录,该目录下的东西一段时间后会被删除,

usr目录一般的软件装在该目录下,

var目录保存的是一些经常变化的信息,log等

 

6、以太网命令

 

可以通过lspci查看网卡硬件信息,如果是usb网卡可以通过lsusb

 

可以通过ifconfig -a查看所有接口

ifconfigeth0查看特定接口

 

可以通过ifup ifdown来启用,禁用一个接口

ifup eth0、ifdown eth0

 

可以通过setup来配置网络信息,配置完要用ifup来启动网卡

 

网卡配置文件目录

/etc/sysconfig/network-scripts/ifcfg-eth0

 

DNS配置文件

/etc/resolv.conf

 

主机名配置文件

/etc/sysconfig/network,再次路径下修改文件可永久修改主机名

 

实时修改主机名:hostname + 主机名,重启后会丢失

 

静态主机名配置文件

/etc/hosts

 

 

通过ping命令检测网络联通性

 

测试dns解析

host +www.baidu.com(域名)简单

dig+www.baidu.com(域名) 复杂

 

显示路由表

ip route

 

可以通过traceroute +www.baidu.com(域名)追踪到达域名所经过的路由器

 

可以通过mtr进行网络质量分析结合了traceroute和ping

mtr+www.baidu.com(域名)

 

 

7、重定向和管道

 

标准输出重定向:

通过关键字‘>’将结果重定向到文件中,如果文件中原来有内容会被“覆盖”,如果不想被“覆盖”可以用‘>>’两个大于号

echo “linuxcast.net” >outfile 这条命令可以把输出结果linuxcast.net保存到outfile文件中

 

标准错误重定向:

通过关键字‘2>’将结果重定向到文件中,以覆盖的形式,如果结果没有错误会被正常执行

 

 

既保存标准错误信息也保存标准输出信息可以通过2>&1命令

 

标准输入可以用关键字‘<’

greplinuxcast  < /etc/passwd 这条命令的意思是吧passwd文件传给grep linuxcast并返回结果

 

管道的意思是:将一个命令的标准输出作为另一个命令的标准输入,用‘|

 

8、文件及目录命令

 

pwd可以查看当前工作目录,touch可以创建一个空白文件或者更新已有文件的时间,.开头的文件为隐藏文件,隐藏文件大多数都是配置文件,不要轻易去动。ls可以查看文件目录,通过file命令查看文件的类型,cd可以用来切换目录,

 

可以通过grep来基于关键字搜索文本,必须是纯文本文件

 

grep ‘关键字’ + 文件路径(含文件名)

grep su/etc/suchujun

find /-user sucht jun | grep Video

 

-i 在搜索时忽略大小写

-n 显示结果所在行数

-v 输出不带关键字的行

-Ax(x=数字)在输出的时候包含结果所在行之后的指定行数

-Bx 在输出的时候包含结果所在行之前的指定行数

 

 

通过cut命令基于列处理文本内容

 

cut -d :-f1 /etc/passwd 意思是:基于:号将文本信息分列,之后再去显示第一列

grepsuchujun /etc/passwd | cut -d: -f3

 

-d 指定分割符,默认是tab

-f 指定输出的列号

-c 基于字符进行切割

cut -c2-6/etc/passwd 用于查找还文件中每一列的第2到6个字符

 

可以通过wc命令统计文本信息

wc/etc/passwd

 

-l 只统计行数

-w 只统计单词

-c 只统计字节数

-m 只统计字符数

 

可以通过sort对文本内容进行排序,仅对数字和英文

sort +文件名

 

-r 进行倒序排序

-n 基于数字进行排序

-f 忽略大小写

-u 删除重复行

-t c 使用c作为分隔符分割为列进行排序

-k x 当进行基于指定字符分割为列的排序时,指定基于那个列排序

 

也可以通过uniq删除重复行,uniq默认情况下只能删除重复行

 

可以通过diff来比较两个文件

diff 文件1 文件2

-i 忽略大小写

-b 忽略空格数量的改变

-u 统一显示比较信息

 

可以通过tr命令处理文本内容

 

删除关键字

tr -d‘tmd’ < linuxcast

转换大小写

tr ‘a-z’‘A-Z’ <linuxcast

 

 

通过sed 搜索并替换文本

sed ‘正则表达式’ +文件名

 

sed ‘s/要被替换的关键字/要替换进去的关键字/g’ linuxcast 如果不加g只会替换第一个,g代表全局的意思

 

sed ‘1,50s/要被替换的关键字/要替换进去的关键字/g’ linuxcast 如果不加g只会替换第一个,g代表全局的意思,指定行数

 

指定多个关键字替换

sed-e  ‘s/要被替换的关键字/要替换进去的关键字/g’ -e ‘s/要被替换的关键字2/要替换进去的关键字2/g’ linuxcast

 

9、RPM软件包管理

步骤

1 - ./configure 检查编译环境,相关库文件以及配置参数并生成makefile

2- make 对源代码进行编译,生成可执行文件

3- make install 将生成的可执行文件安装到当前计算机

 

为了解决源代码编译的依赖关系,引入了RPM

RPM通过将源代码基于特定平台系统编译为可执行文件,并保存依赖关系,简化开源软件安装管理

 

RPM文件通常以.rpm后缀

rpm常用命令

安装软件 rpm -i software.rpm

卸载软件 rpm -e software

升级形式安装 rpm -U software-new.rpm

rpm支持通过http,ftp协议安装软件

rpm -ivh http://www.linux.net/software.rpm

 

可选加入-v 显示详细信息

-h 显示进度条

 

rpm查询

rpm -qa 列出所有安装的rpm软件

rpm -qf filename 查询目标文件属于那个rpm包

rpm -qi packagename 查询指定已安装rpm软件的信息

rpm -ql packagename 查询指定已安装rpm软件包含的文件

rpm -qip software.rpm 查询rpm文件的信息

rpm -qlp software.rpm 查询rpm文件包含的文件

 

rpm验证

rpm-K sortware.rpm 验证rpm文件

rpm-V sortware 验证已安装文件是否被修改过

 

YUM是rpm的前端程序,主要目的是设计用来自动解决rpm的依赖关系

yum特点:

自动解决依赖关系

对rpm进行分组,并基于组进行安装操作

引入了仓库的概念,支持多个仓库

配置简单

 

yum仓库配置文件存在于etc/yum.repos.d目录下

 

yum通常的配置格式:

name =自己写

baseurl=文件路径,可以是网络路径

enabled=1是打开0是关闭,默认是打开

gbgcheck=1是打开0是关闭,默认是打开

 

yum配置文件必须用repo结尾,可以配置多个仓库信息,yum.repos目录可以保存多个yum配置文件

 

yum常用命令

yum install software-name安装指定软件

yum remove software-name 卸载指定软件

yum update software-name 更新指定软件

 

yum查询

yum search +关键字 可以搜索yum仓库软件包

yum list (all /installed/remove/update)

列出yum仓库全部,安装,卸载,更新的所有软件

 

yum info package 显示指定软件信息

 

yum whatprovides filename 查询哪个rpm软件包含目标文件

 

可以自己创建yum仓库,步骤如下

1:拷贝所有的rpm文件到一个文件夹中

2:通过rpm命令手工安装createrepo软件

rpm -ivh createrepo

3:运行命令createrepo -v+rpm路径

 

 

可以通过yum clean all 清除缓存信息,一般用在更改yum仓库后


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值