Linux常用命令总结

man 命令名称 :可以用来查看这个命令可以用的参数,不用死记硬背,知道常用的就行了,需要的时候会去查。和 --help类似。

一,文件相关的。

mkdir  filename   :   创建一个文件。

rm filename : 删除一个文件。

rmdir directoryname : 删除一个空文件夹。

rm -rf /** : 删库跑路了。可以删除一个文件夹及其子目录,且不提示。

find filename :它会直接查出这个名字的文件和文件夹,并且显示出这个文件夹下的子文件信息。

find . -name filename :它只会返回这个名字的文件个文件夹,不会显示子文件夹的信息。

find . -type f : 将当前目录及子目录的文件查出来。

find . -type d : 将当前目录及子目录的文件夹查找出来。

whereis filename : whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

which filename : 在PATH中查找。

echo $PATH : 查看PATH环境变量的信息。


mv 原来的文件或者文件夹的名称 新的文件夹或者文件夹的名称 :用来修改文件或者文件夹的名称。
mv 原来的文件或者文件夹的路径 新的文件夹或者文件夹的路径 :用来移动文件的位置。需要注意的是,文件路径要存在。

cp 原来文件的路径 新文件的路径 : 将文件或者文件夹拷贝到另一个位置。


cat /filepath : 正序显示这个文件信息。 -b 可以显示对应的行号。

tac /filename : 倒序显示这个文件的信息。

more /filename : 一页一页的显示文件内容,空格翻页,不过只能向下翻页,也不能向上移动。

less /filename : 可以向上PgUp,也可以向下翻页 PgDn  Ctry+F 向下翻一页,Ctry+B向下翻一页。

less -N /filename : 可以显示对应的行号。

head -n 要显示的行数 filename : 查看文件第一行到要显示的行数,默认显示10行。-c显示字符

tail -n 要显示的行数 filename : 查看最后一行到倒数第 "要显示的行数"的内容,默认显示10行。

tail -n +20 /home/huchuan.txt : 查看huchuan.txt这个文件从20行至文件末尾。

ln /home/huchuan.txt /root : 硬连接,它会将/home/huchuan.txt这个文件保存一份工作副本到/root/huchuan.txt,对/home/huchuan.txt这个文件的任何修改都会同步到root下的那个工作副本。如果不小心删除了/home/huchuan.txt这个文件,那/root下的工作副本不会删除,这个是用来防止一些重要文件被误删的情况。需要注意的是,硬连接不能作用于文件夹。

ln -s /home/huchuan /root/huchuan : 软连接,这种方式相当于创建了一个快捷方式,在root下的huchuan这个文件保存的是指向原来文件的路径。-b删除,覆盖原来的连接。


硬连接和软连接的区别 : 1,硬连接的原文件要存在,软连接不必。
                        2,硬链接不能作用于不同的文件系统,两个文件要在相同的文件系统下。硬链接可以。
                        3,硬链接不能作用于文件夹。软连接可以。
                        4,硬连接的原文件删除,硬连接产生的文件副本不会删除,还是删除前的内容。软连接的原文件删除后就不可以用了(跟Windows的快捷方式原理相同的嘛)

vim /filename : 编辑文件,如果文件不存在的话,会创建这个文件。

vi /filename : 也是编辑文件的。

chown -R 属主名:属组名 /home/lisi/ : 将lisi这个文件夹及其子文件的属主和属组更改成新的属主和属组。

chgrp -R 属组名 /home/huchuan : 更改huchuan这个文件的属组,和chown类似,不过这个只会更改文件对应的属组。

chmod -777 /home/huchuan : 设置一个文件或者文件夹的属主,属组,其它用户的操作权限。r 4 : w 2 :x 1 。读写执行权限。


二,用户及其权限。


私有组群和标准组群

私有族群

当创建一个新的用户账户时, 如果没有指定该用户属于哪一个组群, 那么Linux就会创建一个和该用户同名的组群, 这个组群就是私有组群, 在这个私有组群中只包含这个用户

私有组群可以转换成标准组群, 当把其他用户加入到该组群中, 那么这个私有组群就变成了标准组群。

标准族群

标准组群也称为普通组群, 标准组群可以包含多个用户账户。 如果使用标准组群, 那么在创建一个新的用户账户时, 应该指定该用户属于哪一个组群。

主要组群和次要组群

主要组群

当一个用户账户属于多个组群成员时, 登录后所属的组群便是主要组群, 其他的组群是次要组群。 一个用户账户只能属于一个主要组群

次要组群

次要组群也称为附加组群, 一个用户账户可以属于多个次要组群

/etc/group:用户组账号文件

该文件为文本文件,该文件包含用户组的所有信息,该文件对任何用户均可读

在/etc/group文件中, 每一行代表一个用户组的信息,每行的字符之间使用:分隔,共4个字段

用户组名称:用户组密码:组标识号:组内用户列表
在/etc/shadow 储存用户名和加密后的密码


useradd username : 创建一个用户,默认会创建一个相同名称的用户组,不指定用户组的话。

adduser/useradd -g 要添加到的用户组的名称 username : 向指定的用户组添加用户。

userdel username : 删除指定的用户。

usermod -g 新用户组的名称 用户名 : 将一个用户从原来的组移动到新的组,会把用户从原来的组中移除。

usermod -G 新的用户组的名称 username : 向一个用户组中添加一个新的用户,相当于加入了附加组,默认组还是原来的组。

usermod -l 新的用户名 原来的用户名 : 用来修改用户名,在不影响用户原来的组,说明等信息的情况下。-c 修改用户的描述信息。

passwd :修改当前登录的用户的密码。

id username : 显示指定用户的组群的信息。

groupadd groupname : 创建一个新的用户组。

groupadd -g groupID groupname : 创建新的组并指定组的id。

groupdel groupname : 删除指定的用户组。


groups username : 查看这个用户是属于那个用户组的。

三,其它常用命令。


su : 变更为root用户,需要输入root用户的密码。这个命令有写问题 ,推荐使用su -。

su - username :切换为指定的用户,需要输入指定登录的用户的密码。

------------------------------------------------------
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。
------------------------------------------------------

historty : 显示当前用户的历史命令。

df -h : 显示系统下边的磁盘信息,-h表示磁盘大小以M,G为单位进行显示。

du -sh :显示当前目录的文件大小,-s 是所有文件总和的大小,-h是以M,G为单位进行显示。

ps -au 用户名 : 显示当前或者指定用户下的所有进程。

ps -aux : 查看当前系统所有用户的所有进程及详细信息。

ps -ef : 这个也是查看当前系统的所有进程,和ps -aux区别不是很大,它会显示父进程的信息。不过我更常用pstree -a来显示进程和它父进程的关系。(图形)

pstree -auc : 查看当前系统的进程,以及对应的父进程信息,以图形的形式显示。
    -a 显示该进程的完整指令及参数, 如果是被记忆体置换出去的进程则会加上括号
    -c 如果有重覆的进程名, 则分开列出(预设值是会在前面加上 *)
    -u 显示进程对应的用户名。
    
ps -aux | grep "进程名称" : 根据进程名称过滤掉其它的进程,只查询对应名称的进程。

pa -aux | grep "_进程名称*"  :查找对应进程名称开头并,且进程名称前还有一个字符的进程。

kill 进程号 : 根据进程号杀死一个进程。

kill -KILL 进程号 : 强制杀死一个进程。比如我的部署在linux上的一个java程序出现死循环了,可以强制杀死它。

kill -9 进程号 :彻底杀死一个进程。

killall -9 进程名称 :还是杀死一个进程,与kill不同的是,kill是根据进程id来删除的进程,而killall可以直接根据进程名称来杀死进程。

ifconfig : 列出当前系统的ip地址,和windows系统中的ipconfig类似。

----------------查询参数解释---------------------------------------------------
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

    USER: 行程拥有者
    PID: pid
    %CPU: 占用的 CPU 使用率
    %MEM: 占用的记忆体使用率
    VSZ: 占用的虚拟记忆体大小
    RSS: 占用的记忆体大小
    TTY: 终端的次要装置号码 (minor device number of tty)

    STAT: 该行程的状态:
        D: 无法中断的休眠状态 (通常 IO 的进程)
        R: 正在执行中
        S: 静止状态
        T: 暂停执行
        Z: 不存在但暂时无法消除
        W: 没有足够的记忆体分页可分配
        <: 高优先序的行程
        N: 低优先序的行程
        L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
    START: 行程开始时间
    TIME: 执行的时间
    COMMAND:所执行的指令

-------------------------------------------------------------------

cat /etc/profile : 修改linux环境变量,和windows配置环境变量类似,需要搭配source /etc/profile命令使用。刷新当前系统的环境变量信息。

source /etc/profile :刷新当前系统的环境变量信息  。

systemctl stop firewalld  : 停止当前相同的防火墙,没报错就代表执行成功,可以查看防火墙状态。

systemctl start firewalld : 启动当前系统的防火墙,没报错就代表执行成功,可以查看防火墙状态。

systemctl status firewalld  :查看当前防火墙状态。

操作防火墙状态可以在命令前边添加sudo,这是系统用户可以让普通用户执行的一些命令。不想su那样切换成系统用户还得告诉他密码。

firewall-cmd --list-all : 显示防火墙的信息。

firewall-cmd --list-ports : 显示防火墙的端口信息。

systemctl restart firewalld : 重启防火墙。

firewall-cmd --noze=public --add-port=8080/tcp -permanment : 开放8080端口。

--noze : 作用域

--add-port : 要开放的端口及使用的协议

-permanment : 永久生效,不加的话服务器重启就会失效。

cat /etc/redhat-release : 查看当前系统的版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

soutv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值