Linux常用命令指南

Linux常用命令指南

 

  1. man

    Linux命令繁多,而且又有很多的参数经常容易忘记,授人以鱼不如授人以渔,记不清参数的时候男人(man)一把,马上就能想起来。

 

Eg:

[root@localhost ~]# man ls

//很长,就没有一一截图

//例如 ls –l 意思是list the file at long list format就是看详细信息

 

 

 

 

 

  1. 查看命令的详细信息

    Which ——ls命令的出处

    Whatis ——ls命令的简单释义

    Whereis ——哪里有包含ls名称的文件

 

 

Ps:Linux的命令其实就是调用的/bin下面的可执行文件,至于为什么是简写,用的是alias(待续)

 

 

  1. 用户基本操作和切换以及权限切换

    很多时候是使用普通用户查看,用root用户来操作,防止因为权限太大造成失误

    3.1>新建用户

    useradd testuser 创建用户testuser

    Useradd 选项:

    -c comment 指定一段注释性描述。

    -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

    -g 用户组 指定用户所属的用户组。

    -G 用户组,用户组 指定用户所属的附加组。

    -s Shell文件 指定用户的登录Shell。

    -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

 

 

3.2 >给用户添加密码

    新建的用户不配密码是无法登陆的

passwd testuser 给已创建的用户testuser设置密码

说明:新创建的用户会自动在/home下创建一个用户目录testuser

Passwd 命令后面可以接的参数为:

-l 锁定口令,即禁用账号

-u 口令解锁

-d 使账号无口令(免密码登陆)

-f 强迫用户下次登录时修改口令

 

3.2 >删除用户

userdel testuser 删除用户testuser

rm -rf testuser 删除用户testuser所在目录

 

  1. >修改账号

    修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

    #命令usermod 参数 用户名

    常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用如下选项:

    -l 新用户名

    这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

    例如:

    # usermod -s /bin/ksh -d /home/test –g developer sam

    此命令将用户sam的登录Shell修改为ksh,主目录改为/home/test,用户组改为developer。

 

  1. >查看用户的资料文件

    /etc/passwd 可以查看用户的password信息

    /etc/shadow 查看用户名

    /etc/group 查看用户组

     

    补充:如何将普通用户拥有root的权限

    1. root用户登陆
    2. 创建用户和密码
    3. 修改/etc/passwd 里面此用户的ID和组ID修改为0

     

     

    //可以看到的是,test建立好以后,没有指定归属组,自己归属于test组里面了

     

  2. >查看正在登陆的用户

 

Who

Who am i

 

 

  1. >切换用户

    Su 后面接用户名,不接则为切换为root用户

    Sudo + 命令 指用root权限执行某命令

     

    要想使用sudo还是有一些条件的,没有权限的用户无法借用root权限。

    报警为:test(用户) is not in the sudoers file. This incident will be reported.

    1. 归属于有sudo权限的群组的用户可以借用

      Adduser <用户名称> sudo

      //操作完后,使用group命令查看是否添加成功,之后登出此用户再次登入即可生效

    2. 在sudoer文件列表里添加并允许的

      /etc/sudoers 编辑此文件,添加 <用户名称> ALL=(ALL)ALL

      //即时生效

       

      图示:

 

 

 

  1. 显示硬盘和分区信息

    lsblk 查看分区和磁盘

    df -lh 查看空间使用情况

    fdisk -l 分区工具查看分区信息

    fdisk <硬盘名称> 修改硬盘的分区

    cfdisk /dev/sda 查看分区

    blkid 查看硬盘label(别名)

    du -sh * 显示当前目录下各个目录和文件的大小

    mkfs -t ext3 partition 格式化分区patition(比如/dev/sdc1)

     

mount 显示所有的硬盘分区挂载

mount partition path 挂在partition到路径path

umount partition 卸载partition

//mount是比较有意思的,下次单独开一个章节。(留坑20180426)

 

//lsblk显示的是磁盘容量和挂载点信息

 

//df –lh 显示的是各个目录下的使用率

 

//fdisk –l 显示硬盘大小和分区情况,以及具体磁盘的子字段划分

//fdisk同样是硬盘分区工具

 

//cfdisk类似于windows的硬盘管理,可以新建分区、删除分区

 

//blkid 查看硬盘的别名

 

//du –sh * 看到的是当前各个目录占用的磁盘空间大小

 

 

 

 

 

  1. 显示系统资源信息

    arch 显示架构(多少位系统)

    cat /proc/cpuinfo 显示CPU信息

    cat /proc/meminfo 显示内存信息

    free 显示内存使用状况

     

     

     

     

     

     

 

 

  1. 进程管理

    之前有人问过我这个问题,没答上来,记忆犹新。

     

    Top 实时显示进程信息和占用率

    Ps 显示当前shell下的进程

    Ps –lu <username> 显示用户username的进程

    Ps –ajx 比较完整地显示所有的进程(但为静态)

    Kill pid 关闭指定pid的进程(pid process id)

     

     

     

     

     

     

     

 

  1. 网络初步搭建

    作为网络攻城狮,最重要的是搭好平台,连好网络,其他的自行发挥想象。

     

    网口的配置文件位于:/etc/sysconfig/network-script 记忆很简单,etc存储的是配置文件,sysconfig顾名思义就是系统配置,network-script就是系统配置下的网络脚本配置

     

     

    网卡的配置如下,基本都是一致的:

HWADDR=00:0C:29:8D:24:73

TYPE=Ethernet

BOOTPROTO=static  #启用静态IP地址,默认是dhcp

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

NAME=ens33

UUID=ecdbb721-58d9-457f-936b-f04b36a979d6

DEVICE=ens33

ONBOOT=yes  #开机自动启用网络连接 //DHCP的话到此截止

IPADDR0=192.168.21.128  #设置固定IP地址

PREFIXO0=24  #设置子网掩码

GATEWAY0=192.168.21.2  #设置网关

DNS1=8.8.8.8  #设置主DNS

DNS2=8.8.4.4  #设置备DNS

:wq!  #保存退出

service network restart   #重启网络

ifconfig #查看网口IP是否正确

ping www.baidu.com  #测试网络是否正常

 

 

 

 

  1. Sellinux和防火墙的操作

    很多的时候,sellinux都是需要关闭的。

     

    防火墙

  • 临时关闭systemctl stop firewalld
  • 永久关闭systemctl disable firewalld
  • 临时打开systemctl start firewalld
  • 开机启动systemctl enable firewalld
  • 检查状态systemctl status firewalld

 

 

 

Sellinux

  • 临时关闭setenforce 0
  • 临时打开setenforce 1
  • 查看状态getenforce
  • 永久关闭

    ——修改文件/etc/sellinux/config,修改为disable,重启生效

补充:

1.这个命令可以理解为_ Set enforce,这样 get enforce也好理解

2.set enforce 0代表permissive模式,1代表enforcing模式

 

 

 

  1. 系统关机或重启

     

    这里主要讲两种,一种安全的,一种不安全但是快速的。

     

    shutdown命令就是可以安全地将系统关机命令。

    有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,不恰当地关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。

    而在系统关机前使用shutdown命令﹐

  • login指令会被冻结﹐即新的用户不能再登录。
  • 系统管理员会通知所有登录的用户系统将要关闭,shutdown后面可以接时间参数,在此期间用户可以自行关闭未保存的文档和程序
  • 未在线的用户也不必担心,所有进程〔process〕都会收到系统所送达的信号〔signal〕。让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。

 

 

shutdown工作原理是发送信号〔signal〕给init程序﹐要求它改变runlevel。

 

Runlevel 0被用来停机〔halt〕

runlevel 6是用来重新激活〔reboot〕系统

而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。

 

 

shutdown 参数说明:

 

 

选项 OPTIONS

-p poweroff,这个就是默认的参数

-a 使用 /etc/shutdown.allow 来验证身份。

-t sec 通知 init(8) 在转换到其它运行级别前,发送警告(warning)信号后延时(sec) 秒数后再发送关闭 (kill) 信号。

-k 并非真正关机,只向所有人显示警告信息。

-r 重启,类似于reboot

-h 停机,类似于halt

-n [DEPRECATED(不应再使用)]不调用init(8)程序进行关机操作,而由自己进行。不建议用户使用这种关机方式,它的结果一般也不是你希望的那样。

-f 重启时跳过磁盘检测。

-F 重启时强制磁盘检测。

-c 取消运行中的shutdown进程。不可能为此选项指定 time参数,但你可以在命令行输入一条解释消息来向所有用户说明。(一般的shutdown指令可以用按"+"号来进行中断)

 

另外一种,是不安全的,类似halt、reboot、init

这些都是不管其他用户怎样,直接硬件关闭,关机的。

 

 

 

 

20180428 初版,篇幅较长。

 

By

Lukas

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值