zoukankan      html  css  js  c++  java
  • Linux基本命令

      

    网络安全学习内容

    五、Linux基本命令

    一、man:查看帮助信息

      man  [帮助对象]

     

            一般来讲帮助文件都很长很多,如果你想翻看的话,就要理解帮助文档的目录结构与操作方法:

    二、常用的系统工作命令

    1.echo命令用于在终端显示字符串或变量,格式为:“echo [字符串 | 变量]”。

    比如

    echo命令查看SHELL变量的值(前面有$符号):

    三、系统状态检测命令

    1.ifconfig用于获取网卡配置与网络状态等信息:格式为”ifconfig [网络设备] [参数]”。

    比如:查看本机当前的网卡配置与网络状态等信息:

     2.who命令用于查看当前登入主机的用户情况,格式为:”who [参数]”。

    如:查看当前登入主机用户的情况:

     

    3.last命令用于查看所有系统的登入记录,格式为:”last [参数]”。
    查看系统的登入记录:

     

    4.history命令用于显示历史执行过的命令,格式为:“history [-c]”。

    查看当前用户在系统中执行过的命令:

     

    历史命令会被保存到用户家目录中的.bash_history“文件中。Linux系统中以点(.)开头的文件均代表隐藏文件,一般会是系统文件。

    清空历史记录

    四、工作目录切换命令

    1.pwd命令用于显示当前的工作目录,格式为:“pwd [选项]”。

    查看当前的工作路径:

     

    2.cd命令用于切换工作路径,格式为:“cd [目录名称]”。

    参数

    作用

    -

    切换到上一次的目录,如“cd -”

    ~

    切换到“家目录”,如"cd ~"

    ~username

    切换到其他用户的家目录,如"cd ~teak"

    ..

    切换到上级目录,如"cd .."

    切换进/etc目录中:

    [root@zhusaiwei-hbza ~]# cd /etc

    切换进/bin目录中:

    [root@zhusaiwei-hbza etc]# cd /bin

    返回上级目录(即/etc目录):

    [root@zhusaiwei-hbza bin]# cd -

    /etc

    返回用户自己的家目录:

    [root@zhusaiwei-hbza etc]# cd ~

    3.ls命令用于查看目录中有那些文件,格式为:“ls [选项] [文件] ”。

    查看当前目录下有那些文件(长格式):

    [root@linuxprobe etc]# ls -al

    参数

    作用

    -a

    查看全部文件(包括隐藏文件)

    -d

    仅看目录本身

    -h

    易读的文件容量(如k,m,g)

    -l

    显示文件的详细信息

    查看/etc目录中有那些文件:

    [root@zhusaiwei-hbza ~]# ls /etc

    abrt gss printcap

    adjtime gssproxy profile

    aliases gtk-2.0 profile.d

    aliases.db gtk-3.0 protocols

    alsa hba.conf pulse

    alternatives host.conf purple

    anacrontab hostname qemu-ga

    asound.conf hosts qemu-kvm

    at.deny hosts.allow radvd.conf

    ………省略部分文件………

    查看/etc目录的权限与属性:

    [root@zhusaiwei-hbza ~]# ls -ld /etc

    drwxr-xr-x. 132 root root 8192 Jul 10 10:48 /etc

    五、文本文件编辑命令

    既然已经学会了工作目录间的切换与查看,那么就来试试对文件的一系列操作吧,非常实用。

    1.cat命令用于查看纯文本文件(较短的),格式为:“cat [选项] [文件]”。

    查看文本文件:

    [root@zhusaiwei-hbza ~]# cat 文件名

    参数

    作用

    -n

    显示行号

    -b

    显示行号(不包括空行)

    -A

    显示出“不可见”的符号,如空格,tab键等等

    2.more命令用于查看纯文本文件(较长的),格式为:“more [选项] 文件”。

    查看文本文件:

    [root@zhusaiwei-hbza ~]# more 文件名

    参数

    作用

    -数字

    预先显示的行数(默认为一页)

    -d

    显示提示语句与报错信息

    3.head命令用于查看纯文本文档的前N行,格式为:“head [选项] [文件]”。

    查看文本文件前20行:

    [root@zhusaiwei-hbza ~]# head -n 20 文件名

    参数

    作用

    -n 10

    显示10行

    -n -10

    正常输出(如cat命令),但不显示最后的10行

    4.tail命令用于查看纯文本文档的后N行,格式为:“tail [选项] [文件]”。

    查看文本文件后20行:

    [root@zhusaiwei-hbza ~]# tail -n 20 文件名

    参数

    作用

    -n 10

    显示后面的10行

    -f

    持续刷新显示的内容

    5.wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。

    参数

    作用

    -l

    只显示行数

    -w

    只显示单词数

    -c

    只显示字节数

    统计当前系统中的用户个数:

    [root@zhusaiwei-hbza ~]# wc -l /etc/passwd

    38 /etc/passwd

    六、文件目录管理命令

    1.touch命令用于创建空白文件与修改文件时间,格式为:“touch [选项] [文件]”。

    我们可以用touch test”轻松的创建出一个名字为test的空白文档,所以这个功能无须介绍。

    对于在Linux中的文件有三种时间:

    更改时间(mtime):内容修改时间(不包括权限的)

    更改权限(ctime):更改权限与属性的时间

    读取时间(atime):读取文件内容的时间

    如果黑客执行了touch -d “2 days ago” test,便将访问与修改时间修改为了2天前(伪造了自己没有动过该文件的假象)

    参数

    作用

    -a

    近修改“访问时间”(atime)

    -m

    近修改“更改时间”(mtime)

    -d

    同时修改atime与mtime

    -t

    要修改成的时间[YYMMDDhhmm]

    2.mkdir用于创建空白的文件夹,格式为:“mkdir [选项] 目录”。

    创建文件夹:

    [root@zhusaiwei-hbza ~]# mkdir 文件夹名

    参数

    作用

    -m=MODE

    默认的文件目录权限,如"-m 755"

    -p

    连续创建多层目录(若文件夹已存在则忽略)

    -v

    显示创建的过程

    创建一个名字叫linuxprobe的目录:

    [root@zhusaiwei-hbza ~]# mkdir linuxprobe

    使用ls命令查看该目录的权限属性等信息:

    [root@zhusaiwei-hbza ~]# ls -ld linuxprobe/

    drwxr-xr-x. 2 root root 6 Aug 24 19:25 linuxprobe/

    还记得刚刚用cd命令进入linuxprobe目录吗?这里是个小技巧,变量!$或(键盘按键)代表上一条命令的参数。

    [root@zhusaiwei-hbza ~]# cd !$

    cd linuxprobe

    pwd命令也是刚刚学习过的,用于显示当前的工作路径。

    [root@zhusaiwei-hbza linuxprobe]# pwd

    /root/Desktop/linuxprobe

    一次创建5个目录a/b/c/d/e:

    [root@zhusaiwei-hbza linuxprobe]# mkdir -p a/b/c/d/e

    查看目录的属性,验证是否成功:

    [root@zhusaiwei-hbza linuxprobe]# ls -ld a/b/c/d/e/

    drwxr-xr-x. 2 root root 6 Aug 29 10:16 a/b/c/d/e/

    3.cp命令用于复制文件或目录,格式为:“cp [选项] 源文件 目标文件”。

    复制命令的三种情况:

    目标文件是一个目录,会将源文件复制到该目录中。
    目标文件是一个文件,会将源文件覆盖该文件。
    目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)。

    参数

    作用

    -p

    保留原始文件的属性

    -d

    若对象为"链接文件",则保留该"链接文件"的属性

    -r

    递归持续复制(用于目录)

    -i

    若目标文件存在则询问是否覆盖

    -a

    相当于-pdr(p,d,r为上述的参数)

    创建一个名为install.log的文件:

    [root@zhusaiwei-hbza ~]# touch install.log

    install.log复制为x.log:

    [root@zhusaiwei-hbza ~]# cp install.log x.log

    查看到确实出现了文件x.log

    [root@zhusaiwei-hbza ~]# ls

    install.log x.log

    4.mv命令用于移动文件或改名,格式为:“mv [选项] 文件名 [目标路径|目标文件名]”。
    将文件aaa重命名为bbb:

    [root@zhusaiwei-hbza ~]# mv aaa bbb

    5.rm命令用于删除文件或目录,格式为:“rm [选项] 文件”。

    删除普通文件并提示确认信息:“rm 文件名”

    删除普通文件或目录文件,不提示:“rm -rf 文件或目录名”

    参数

    作用

    -f

    忽略警告信息

    -i

    删除前先询问

    -r

    删除文件夹

    查看当前目录下的文件:

    [root@zhusaiwei-hbza ~]# ls

    install.log x.log

    删除install.log文件,输入”y”即确认:

    [root@linuxprobe ~]# rm install.log

    rm: remove regular empty file ‘install.log’? y

    删除x.log文件而无需确认:

    [root@zhusaiwei-hbza ~]# rm -rf x.log

    Linux系统中还有一个rmdir命令,它不同于rm -rf命令会删除一切,而是仅删除空目录,遇到目录内有文件时则报错。

    七、用户与组管理命令

    1.useradd命令用于创建新的用户,格式为:“useradd [选项]  用户名”。

    参数

    作用

    -d

    指定用户的家目录(默认为/home/username)

    -D

    展示默认值

    -e

    帐号有效截至日期,格式:YYYY-MM-DD.

    -g

    指定一个初始用户组(必须已存在)

    -G

    指定一个或多个扩展用户组

    -N

    不创建与用户同名的用户组

    -s

    指定默认的Shell

    -u

    指定用户的UID

    创建名为linuxprobe的用户,并定义家目录路径、UID以及登陆解释器(不允许登陆):

    [root@zhusaiwei-hbza ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin linuxprobe

    查看linuxprobe用户的基本信息:

    [root@zhusaiwei-hbza ~]# id linuxprobe

    uid=8888(linuxprobe) gid=8888(linuxprobe) groups=8888(linuxprobe)

    2.passwd命令用于修改用户的密码,格式为:“passwd [选项] [用户名]”。

    修改当前用户的密码:“passwd”

    修改其他用户的密码:“passwd 其他用户名”

    参数

    作用

    -l

    锁定用户禁止其登陆

    -u

    解除锁定,允许用户登陆。

    --stdin

    允许从标准输入修改用户密码,如(echo "NewPassWord" | passwd -stdin Username)

    -d

    使帐号无密码

    -e

    强制用户下次登陆时修改密码

    -S

    显示用户的密码状态

     

     

     

     

     

    3.userdel命令用于删除用户所有表格,格式为:“userdel [选项] 用户名”。

    删除用户与其家目录:

    [root@zhusaiwei-hbza ~]# userdel -d 用户名

    参数

    作用

    -f

    强制删除用户,家目录与其相关文件

    -r

    同时删除用户,家目录与其相关文件

    4.usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。

    参数

    作用

    -c

    填写帐号的备注信息

    -d -m

    -m与-d连用,可重新指定用户的家目录并自动旧的数据转移过去。

    -e

    帐户到期时间,格式“YYYY-MM-DD”

    -g

    变更所属用户组

    -G

    变更扩展用户组

    -L

    锁定用户禁止其登陆系统

    -U

    解锁用户,允许其登陆系统

    -s

    变更默认终端

    -u

    修改用户的UID

    5.groupadd命令用于创建群组,格式为:”groupadd [选项] 群组名”。

    创建名称为linuxprobe的用户群组:

    [root@zhusaiwei-hbza ~]# groupadd linuxprobe

    八、打包压缩文件命令

    1.tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”。

    打包并压缩文件:“tar -czvf 压缩包名.tar.gz 文件名”

    解压并展开压缩包:“tar -xzvf 压缩包名.tar.gz”

    参数

    作用

    -c

    创建压缩文件

    -x

    解开压缩文件

    -t

    查看压缩包内有那些文件

    -z

    用Gzip压缩或解压

    -j

    用bzip2压缩或解压

    -v

    显示压缩或解压的过程

    -f

    目标文件名

    -p

    保留原始的权限与属性

    -P

    使用绝对路径来压缩

    -C

    指定解压到的目录

    /etc目录内文件打包并通过gzip格式压缩:

    [root@zhusaiwei-hbza ~]# tar czvf etc.tar.gz /etc

    tar: Removing leading `/' from member names

    /etc/

    /etc/fstab

    /etc/crypttab

    /etc/mtab

    /etc/fonts/

    /etc/fonts/conf.d/

    /etc/fonts/conf.d/65-0-madan.conf

    /etc/fonts/conf.d/59-liberation-sans.conf

    /etc/fonts/conf.d/90-ttf-arphic-uming-embolden.conf

    /etc/fonts/conf.d/59-liberation-mono.conf

    /etc/fonts/conf.d/66-sil-nuosu.conf

    ……………………………………

    etc.tar.gz解压到/root/etc目录中:

    [root@zhusaiwei-hbza  ~]# mkdir /root/etc

    开始解压etc.tar.gz文件:

    [root@zhusaiwei-hbza ~]# tar xzvf etc.tar.gz -C /root/etc

    九、文本查询搜索命令

    1.find命令用于查找文件,格式为:“find [查找路径] 寻找条件 操作”。

    这里需要注意下find命令非常灵活导致参数非常复杂,这里不要求大家记住,用时来查即可。

    对于常用搜索路径有几个小窍门:~”代表用户的家目录,“.”代表当前目录,“/”代表根目录。

    参数

    作用

    -name

    匹配名称

    -perm

    匹配权限(mode为完全匹配,-mode为包含即可)

    -user

    匹配所有者

    -group

    匹配所有组

    -mtime -n +n

    匹配修改内容的时间(-n指n天以内,+n指n天以前)

    -atime -n +n

    匹配访问文件的时间-n指n天以内,+n指n天以前

    -ctime -n +n

    匹配修改权限的时间-n指n天以内,+n指n天以前

    -nouser

    匹配无所有者的文件

    -nogroup

    匹配无所有组的文件

    -newer f1 !f2

    匹配比文件f1新却比f2旧的文件

    --type b/d/c/p/l/f

    匹配文件类型(块设备、目录、字符设备、管道、链接文件、文件文件)

    --size

    匹配文件的大小(+50k查找超过50k的文件,而-50k则代表查找小于50k的文件)

    -prune

    忽略某个目录

    --exec {} ;

    后面可接对搜索到结果进一步处理的命令(下面会有演示)

    搜索在/etc/中所有以host开头的文件:

    其中的”host*”表示所有以host开头的文件:

    [root@zhusaiwei-hbza~]# find /etc -name "host*" -print

    /etc/avahi/hosts

    /etc/host.conf

    /etc/hosts

    /etc/hosts.allow

    /etc/hosts.deny

    /etc/selinux/targeted/modules/active/modules/hostname.pp

    /etc/hostname

    找出用户linuxprobe的文件并复制到/root/findresults目录。

    重点是”-exec {} ;”其中的{}代表find命令搜索出的文件,记住结尾必须是;

    [root@zhusaiwei-hbza ~]# find / -user linuxprobe -exec cp -arf {} /root/findresults/ ;

  • 相关阅读:
    《基于Android的大学学生信息查询系统设计与实现》论文笔记(十二)
    《课程安排管理系统分析与设计》论文笔记(十一)
    第十次读书笔记 软件工程:方法与实践
    结对作业收获_core组
    软件工程:方法与实践 第七次读书笔记
    结对作业_core组
    软件工程:方法与实践 第六次读书笔记
    第五周课后作业
    软件工程 :方法与实践 第五次读书笔记
    个人作业—词频统计
  • 原文地址:https://www.cnblogs.com/amberhome-wei/p/11706831.html
Copyright © 2011-2022 走看看