Linux常用命令学习

Posted yuf_ricky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令学习相关的知识,希望对你有一定的参考价值。

1、在window系统下进行Linux命令学习,那么需要借助工具xshell,或者powerShell工具进行, 以下介绍xshell工具的配置

安装xshell工具 ->新建会话->在连接中填入主机以及自定义名称->在用户身份验证中填入用户名,linux系统常用是root用户名(密码建议是每次登陆的时候填写)-> 配置界面的可视化效果(配置底色,配置字的大小)

2、命令基本格式

 [root@localhost ~]#

其中:root: 当前登录用户,   localhost: 主机名,   ~: 当前所在的目录(家目录), #:超级用户的提示符普通用户的提示符是$

命令格式:命令【选项】【参数】

注意:个别命令使用不遵循些格式,当有多个选项时,可以写在一起简化选项与完整选项  -a 等于 --all

 3、linux系统命令

  a、ls [选项] [文件或目录]

    选项:-a 显示所有文件,包括隐藏文件,-l 显示祥细信息, -d 查看目录属性, -h 人性化显示文件大小, -i 显示inode,ll即表示 ls -l的缩写

    对于文件的类型见下图:

           

drwxr-xr-x.  3 root root     4096 May 23  2017 abrt
-rw-r--r--.  1 root root       16 May 23  2017 adjtime
-rw-r--r--.  1 root root     1518 Jun  7  2013 aliases
-rw-r--r--.  1 root root    12288 Aug 19 13:48 aliases.db
drwxr-xr-x.  2 root root     4096 Aug 19 13:49 alternatives
-rw-------.  1 root root      541 Jul 27  2015 anacrontab
//里面的root表示所有者 第二个root表示所属组, 1表示引用技术,表示被引用的次数

 注意:在linux系统里面.文件名,表示是隐藏文件

4、Linux系统文件处理命令

   a、目录处理文件(linux系统下tab键的自动补全,如果存在多个,那么按两下,则会列出全部的目录)

    mkdir -p [目录名]    表示创建新目录,-p表示可以多级创建,如果没有-p则不能进行多层级创建 如 mkdir -p a/b/c;

    cd [目录]  表示切换目录  cd~:进行当前用户的家目录   cd-:进入上次目录   cd..:进行上级目录    cd.:进行当前目录  cd /: 表示跳转到根目录下

     

    pwd 表示显示当前完整的路径名;

    rmdir [目录名]  表示删除指定的目录,注意:这里只能删除空的文件夹

    rm -rf [目录名] 表示可以删除空的文件夹,同时也可以删除非空的文件夹, 这里面的-r表示目录,-f表示强制的意思, 如果没有-f的情况下,每删除一个文件,都会进行一次访问。并且文件夹第一个不要用/符号

    rm -rf test/   =>  表示删除test这整个文件夹

    rm -rf test/* =>   表示删除test这个文件夹下的所有文件

    touch [文件/目录] 表示更新文件或者目录的时间,如果不存在这个文件的情况,那么会新建这个文件

    cp [选项] [原文件或目录] [目标目录]  表示复制  选项 -r复制目录,-p连带文件属性复制,-d若源文件是链接文件,则复制链接属性,-a 相当于 -pdr

    cp -a test.html b/a.html  表示把当前的test.html文件复制到b文件夹下的并且命名为a.html

cp -a temp/* new/   //表示把temp下面的全部内容复制到new目录下面

    mv [原文件或目录] [目标目录] 表示剪切或改名命令   当原文件与目标文件在同一目录下,那么就是改名命令,否则就是剪切命令

mv test new   //表示把当前的test文件夹名字改成new
mv test new/  //表示把当前的test文件夹放到new文件夹的目录下

 5、linux中常见的目录介绍

 

 linux中cd /即可跳转到根目录下,即最高一级目录

a、根目录下的bin和sbin, usr下的bin和sbin这四个目录是用来保存系统命令的,但是bin保存的是普通用户都可以使用的命令,而sbin保存的是超级用户可以使用的命令

b、boot 保存的是用户的启动数据, 一般不做操作

c、dev  特殊文件的保存目录, 都是硬件文件,一般不做操作

d、etc 保存的是系统的默认配置文件, 比较常操作

e、home 是普通用户的家目录

f、root 是超级用户的家目录

g、lib 是表示linux系统下的函数库目录

h、media, 表示挂载目录, mnt表示系统挂载目录

i、sys 与 proc目录不能直接操作,这两个目录保存的是内存过载点

j、tmp 临时目录, usr系统软件资源目录

k、var系统相关文档内容

注意: 通常在练习linux的时候,可以放在家目录,如root(超级用户)或home(普通用户)下进行练习,也可以放在tmp练习

 

6、链接命令

建立软链接  ln -s [原文件] [目标文件]

建立硬链接 ln [原文件] [目标文件]

硬链接的特征:

  a、拥有相同的i节点和存储block块,可以看做是同一个文件

  b、可通过i节点识别

  c、不能跨分区

  d、不能针对目录使用

软链接的特征:

  a、类似window快捷方式

  b、软链接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据

  c、修改任意文件,另一个都改变

  d、删除原文件,软链接不能使用

注意: 可以通过一下进行记忆,硬链接相当于复制,但是一方的改,也会导致另一方的改变,而软链接相当于快捷方式

7、linux中的文件搜索

a、文件搜索命令locate 与 文件搜索命令find 相比速度会更快  格式: locate 文件名 =》 在后台数据库中按文件名搜索,搜索速度更快,但是只能按照文件名进行查找

但是注意:如果新建一个文件,那么用locate去寻找的话,是找不到的,因为locate功能会在var/lib/mlocate中进行寻找,但是这个文件是一天更新一次,不是实时更新的,但是如果强制执行updatedb这个命令,那么会进行数据库的更新

touch test.html     //新建文件
locate test.html    //查找文件
updatedb            //更新数据库

 b、命令搜索命令 whereis 与which的使用

whereis 的格式:  whereis 命令名 =》 搜索命令所在的路径及帮助文档所在的位置  选项: -b: 只查找可执行文件  -m:只查找帮助文件

whereis ls    //列出ls命令的位置,以及帮助文档

扩展:whoami表示我是谁  whatis ls 表示ls是什么

which 的格式: which 命令名 =》与上面的功能差不多,但可以看到对应的别名

c、文件搜索命令find的使用

find的格式: find [搜索范围] [搜索条件]  

find / -name test.html => 表示在整个根目录中搜索名称为test.html的文件, 在linux系统中find的时候常常是完全匹配的,如果有其他情况的,需要使用通配符

通配符有: * 匹配任意内容    ?匹配任意字符   []匹配任意一个中括号内的字符

find /root -name "test.html*" =》 表示在root目录下查找名字前面匹配test.html的文件名,后面的内容任意

find /root -name "test.htm?"     find /root -name "ab[cd]"

find /root -iname "test.html" =》 不区分大小写,查找匹配test.html文件名的文件

find /root -user root  => 按照所有者进行搜索

find /root -nouser => 查找没有所有者的文件

 

find . -size 25k => 表示查找当前目录下文件大小是25kb的文件   -25k  小于25kb的文件      +25k  大小25kb的文件

8、帮助命令

man [命令]  表示查看命令的用法

man ls   //可以展示这条命令的帮助信息,如果想找 -d的配置,再输入 /-d即可跳转至定位

man -f  相当于 whatis 命令

[命令] --help  表示查看帮助

info [命令] 查看帮助

 

9、linux中压缩与解压缩

linux中常见的压缩格式有:.zip    .gz     .bz2     .tar.gz    .tar.bz2

zip格式压缩

zip   压缩文件名   源文件     => 压缩文件

zip test.zip test.html

zip -r  压缩文件名   源目录   => 压缩目录

zip -r test.zip test   //把test文件夹压缩成test.zip

unzip 压缩文件名

 

gz格式压缩

gzip  源文件    => 压缩成.gz格式的压缩文件,源文件会消失

gzip test.html

gzip -c 源文件 > 压缩文件   => 压缩为.gz格式,源文件保留

gzip -c test.html > add.html.gz       //保留test.html并且复制一个test.html并且压缩命名为 add.html.gz

gzip -r 目录   => 压缩目录下的所有子文件,但是不能压缩目录

gzip test   //把test文件夹下的所有文件进行gz压缩,但是目录不会被压缩

解压缩

gzip -d 压缩文件名      =>    解压缩文件夹  gzip -d -r 文件夹

gunzip 压缩文件名      =>    解压缩文件夹  gunzip -r  文件夹

 

bz2格式压缩

bzip2  源文件   =>  压缩为.bz2格式,不保留源文件

bzip2 -k 源文件  => 压缩之后保留源文件

注意:bzip2命令不能压缩目录

解压缩

bzip2 -d 压缩文件    =>  -k保留压缩文件

bunzip2 压缩文件    =>  -k保留压缩文件

 

tar.gz压缩

tar  -zcvf  目录/文件名.tar.gz   文件名...  => 压缩

tar -zcvf ./test.tar.gz -c ./bag/test   //表示把bag目录下的文件夹压缩到当前文件夹

tar  -zxvf  压缩文件          =>解压缩

  • -c 打包
  • -v 显示过程
  • -f 指定打包后的文件名
tar -zxvf  test.tar.gz ./bag    //表示把test.tar.gz解压缩到bag文件夹下

 

tar.bz2压缩

tar  -jcvf  目录/文件名.tar.bz2   文件名...  => 压缩

tar  -jxvf  压缩文件                 =>解压缩

  • -c 打包
  • -v 显示过程
  • -f 指定打包后的文件名

 

9、关机重启

shutdown 关机命令

  • -c 取消前一个关机命令
  • -h 关机
  • -r 重启
shutdown -r 06:00     //在6点时重启,但当前不能进行任何操作
shutdown -r 06:00 &   //放在后台操作,当前可以进行操作
shutdown -c           //取消在关机前的所有操作,如定时关机

 

10、其他命令

a、 w

查看登录用户信息

  • USER 登录的用户名
  • TTY 登录的终端 tty1 本地终端 pts/0远程终端
  • FROM 登录的IP
  • LOGIN 登录时间
  • IDLE 用户闲置时间
  • JCPU 该终端所有进程占用的时间
  • PCPU 当前进程所占用的时间
  • WHAT 正在执行的命令

b、 who

查看登录用户信息

  • USER 登录的用户名
  • TTY 登录的终端 tty1 本地终端 pts/0远程终端
  • LOGIN 登录时间(登录的IP)

c、 last

查看当前登录和过去登录的用户信息 默认读取 /var/log/wtmp 文件

  • 用户名
  • 登录终端
  • 登录IP
  • 登录时间
  • 退出时间(在线时间)

d、lastlog

查看所有用户的最后一次登录时间

  • 用户名
  • 登录终端
  • 登录IP
  • 最后一次登录时间

e、cat 文件名

显示文件内容

f、top =》 查看内存信息以及cpu

g、diff:比较文件内容  比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出

h、echo $SHELL  查看当前shell是什么版本

以上是关于Linux常用命令学习的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习:软件包管理+常用命令

跨年学习:测试人常用linux命令

Linux常用命令汇总(带代码示例)

Linux_学习_01_常用命令大全

Linux学习笔记-Linux常用命令

Linux 常用命令学习