Linux基础命令

linux只有一个根目录:/

根目录下有很多子目录,需要记住的几个目录:

/bin:常用的一些命令

/home:存放用户目录的

/root:root用户的主目录

/tmp:临时目录,一般用来放软件安装包的,用完就可以删掉的

/var:一般用来存放日志文件

/mnt:用来挂在其他硬盘的

/opt:一般用来保存安装的其他应用程序

/etc:存放一些应用程序的配置文件,比如环境变量,用户管理,ip,防火墙

基础命令

1.目录+文件操作

  • cd,切换目录

    cd /    # 切换到根目录下
    cd ..    # 切换到上级目录
    cd ./    # 切换到当前目录
    
    cd /home    # 使用绝对路径,切换到根目录下的home目录
    cd ../home    # 使用相对路径,切换到上级目录下的home目录中
    cd -        # 返回上次操作的目录
  • 查看目录下的文件

    ll            # 查看当前目录下的所有文件,以列表方式详细的展示
    ls            # 以精简平铺的方式展示当前目录下的所有文件
    ls -a        # 以精简平铺方式展示当前目录下的所有文件,包括隐藏文件
    ll    /tmp/aa    # 展示/tmp/aa目录下的所有文件,指定哪个目录
  • 目录操作

    mkdir    aa    # 在当前目录下创建aa目录
    mkdir    -p aa/aaa/aaaa    # 在当前目录下创建aa目录,aa目录创建aaa目录...,创建多级目录
    rmdir    bb    # 删除当前目录下的bb目录,该目录必须为空,也就是只能删除空目录
    rm    -rf aa    # 强制删除aa目录以及该目录下的其他文件及目录
  • 文件的移动、复制、重命名:

    mv a.txt /tmp    # 将当前目录下的a.txt文件移动到/tmp目录下
    cp b.txt /tmp    # 将当前目录下的b.txt文件复制到/tmp目录下
    mv b.txt b-bak.txt    # 将当前目录下的b.txt复制一份,命名为b-bak.txt,相当于重命名
  • 创建文件

    touch a.txt        # 在当前目录下创建一个a.txt文件
    echo 'Hello World' >> a.txt    # 将字符串写入到指定文件中
  • 查看文件内容

    cat a.txt        # 查看a.txt文件中的内容
    vim a.txt        # 编辑a.txt文件,也就可以看到文件中的内容
    
    head /etc/profile    # 查看profile文件的头几行内容
    head -n 2 /etc/profile    # 查看指定的头几行内容
    
    tail /etc/profile    # 查看文件末尾的几行内容
    tail -f /etc/profile    # 动态查看文件末尾的内容,常用来查看日志
    tail -n 2 /etc/profile    # 查看文件末尾2行的内容
    
    less /etc/profile    # 查看文件内容,使用enter进行查看,退出使用q建
    more /etc/profile    # 查看文件内容,会显示文件内容的百分比,也是使用enter进行查看,ctrl+c退出
    
    cat /etc/profile | grep PATH    # 查看profile文件内容,并查找PATH字符串
    grep 'PATH' /etc/profile
    head /etc/profile | grep PATH
    more /etc/profile | grep PATH
    less /etc/profile | grep PATH
    more /etc/profile | grep PATH
    
  • 编辑文件

    vim a.txt    # 使用vim命令打开a.txt文件,进入普通模式(命令模式)
    
    # 如果要添加内容,则可以按a或i或o键进入编辑模式,进入编辑之后就可以修改文件内容
    # 如果文件修改完之后,按esc键退出编辑模式
    # 如果要退出文件,shift+:进入末行模式
    # 进入末行模式之后,可以输入q!强制退出,也可以输入wq保存退出
    
    # 在命令模式下可以使用yy来复制当前行,使用p进行内容的粘贴,使用u进行撤销操作
    # 使用x删除光标处的字符,使用上下左右键来移动光标
    # 在末行模式下可以输入/字符来查找想要查找的字符,set nu来设置显示行号,set nonu来设置取消行号
    /hello    查找文本中的hello

2.UGO权限

ll查看目录下文件的详细信息时,第一列信息中后9位代表该文件的UGO权限。

  • U:当前文件所属用户(文件是谁创建的)
  • G:用户所属组(linux中每个用户都有所属的组,一个用户可以属于多个组)
  • O:用户所属组以外的其他用户

文件的权限包括:

  • r:read可读,对应的数字4
  • w:write写,对应的数字2
  • x:execute可执行,对应的数字1
  • -:无权限,对应的数字0

修改文件UGO权限使用的命令:chmod

# 修改文件UGO权限有两种方式:1.数字 2.符号
# 数字是3位数字,每一个数字对应UGO
chmod 740 a.txt        # 设置a.txt的ugo权限为:u:rwx g:r-- o:---
chmod 774 a.txt        # 设置a.txt的ugo权限为: u:rwx g:rwx o:r--
# 符号方式:U,G,O,a +,-,=
chmod u=rwx a.txt    # 设置a.txt的属主权限为rwx
chmod g+w    a.txt    # 设置属组用户添加w权限
chmod o-r    a.txt    # 设置其他用户去掉r权限
chmod a=rw    a.txt    # 设置所有的UGO权限为rw

3.用户管理

  • 创建组

    groupadd ruan14        # 创建群组
    groupadd ruan12 -g 2000        # 创建组的同时,给组指明组id
  • 创建用户

    useradd zhangsan    # 创建zhangsan用户
    useradd lisi -G ruan12,ruan14    # 创建用户的同时,给用户分配附加组
    useradd yuqian -g ruan12        # 创建用户的同时,设置主组

    用户创建成功之后,会在/etc/passwd以及/etc/shadow文件中生成对应的用户信息

    grep 'zhangsan' /etc/passwd
    grep 'zhangsan' /etc/shadow
    cat /etc/group                # 查看所有的组信息
  • 查看用户信息

    id                # 查看当前登录用户的信息
    id root            # 查看指定用户的信息
  • 向组内添加和删除用户

    gpasswd -a yuqian ruan14    # 向ruan14组内添加用户yuqian
    gpasswd    -d yuqian ruan12    # 从ruan12组内移除用户yuqian
  • 修改用户密码

    passwd            # 修改当前用户的密码,自己修改密码话需要先输入原密码,要是root修改,直接改
    passwd zhangsan            # 修改指定用户的密码
  • 切换登录用户

    su zhangsan        # 进行用户切换,root切换其他用户不需要密码,但是切换到其他用户需要密码
  • 删除用户

    userdel -r yuqian        # 删除用户以及生成的用户的主目录

    passwd以及shadow文件中对应的用户信息也将删除

  • 删除组

    # 删除组的时候要注意:改组下面如果还有其他用户,这个组是不能删除的,除非改组为空,没有其他成员
    groupdel ruan12
  • 修改文件属主及属组

    chgrp ruan14 a.txt            # 修改文件所属组
    chown zhangsan a.txt        # 修改文件属主
    chown lisi:lisi a.txt        # 同时修改文件的属主和属组,前面是属主,后面属组

4.进程管理

进程:计算机中每个程序运行时都会有一个他对应的进程,一个进程下面可以包含有1到多个线程,进程中包含了当期程序占用的内存,程序代码等内容。

进程的状态:运行状态,休眠状态,停止状态,僵尸状态

进程的查看,分为静态进程和动态进程。

  • 静态进程:当前系统进程的一个快照(当前时间点的系统的进程状态)
  • 动态进程:可以实时更新查看当前系统的进程状态

静态进程常用命令:

ps -aux            # 查看所有进程的详细信息,包含的列比较多
ps -ef            # 可以查看uid,pid,ppid
ps axo pid,%cpu,%mem    # 可以指定查看哪些进程的列
ps aux|grep mysqld        # 查看mysqld程序是否启动正在运行
ps aux --sort -%cpu        # 按照cpu使用率进行降序排列
ps aux --sort -%mem        # 按照内存使用率进行降序排列

# 查看某个进程的编号pid
pidof mysqld            # 查看mysql进程的pid
pgrep mysqld            # 查看mysql进程的pid

动态进行查看:

top                        # 查看动态进程
# 动态进程分为上下两部分:
# 上面部分是进程的一个整体情况,是动态变化的
# 下面部分是每个进程的具体情况,是动态变化的
# 动态进程数据默认每3s刷新一次

top -d 1                # 设置动态进程数据每隔1s刷新1次
# 进入动态进程界面之后,可以shift+P对进程进行cpu使用率的降序排列,也可以shift+M,进行内存使用率的降序排列

top -p pid1,pid2        # 查看指定进程编号的信息,pid1,pid2要替换成具体的进程编号

Linux基础命令

给TA打赏
共{{data.count}}人
人已打赏
编程专区

Java基础题 - 必背

2023-3-16 16:05:00

编程专区

人事面试

2023-4-1 14:18:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索