LINUX中常用命令集合与方便灵活的shell

Linux中常用命令集合与方便灵活的shell

一,shell与linux的关系

     1,LIUNX系统中运行的一种特殊程序
     2,在用户和内核之间充当翻译官
     3,用户登录linux系统时,自动加载一个shell程序
     4,Bash是Linux系统中默认使用的Shell程序
       shell文件位于/bin/bash 下

两者之间关系如图所示:

在这里插入图片描述


二,xshell常用的种类

常用的linux有以下七种

  • bash :大多数linux默认使用的shell,所包含的功能几乎可以涵盖shell所具有的功能
  • csh :使用的是类C语法,其内部命令有52个,较为庞大,并已被/bin/tcsh取代
  • tcsh :语法与Brourne相同,同时具备了C shell的易用特点
  • ksh :是csh的增强版,与C shell 完全兼容
  • sh :是一个快捷方式,已经被/bin/bash所取代
  • nologin :指用户不能登录
  • zsh :目前Linux里面最庞大的一种shell,他有84个内部命令,使用起来较为复杂,一般情况下,不会使用

常用的bash路径命令为:

[root@server1 ~]# which bash /找命令的路径
/usr/bin/bash   /  


三,linux命令的种类

Linux命令分为两种,为:

  • 内部命令
  • 外部命令
内部命令外部命令
集成于shell解释器内部的一种特殊命令也称为内建(built-in指令)Linux系统中能够完成特定的脚本文件或二进制程序
属于shell的一部分属于解释器程序之外的命令
没有单独对应的系统文件每个外部命令对应了额系统中的一个文件
自动载入内存,可以直接使用必须知道其对应的文件位置,由shell加载后才能执行

四,Linux命令行格式

  • 通用的命令行使用格式 :命令字 {选项} {参数}

    • 命令字

    • 选项:+ 短格式选项: 使用“-”符号引导
      + 长格式选项:使用“–”符号引导

    • 参数 + 命令字的处理对象
      + 可以是文件名,目录(路径)名或用户名等内容
      + 个数可以是零到多个

    • 例如: ls -l /root 查看 root , ls --help 查看命令解释

[root@server1 bin]# ls -l /root  / 查看root
总用量 12
-rw-------. 1 root root 2959 8月   9 20:18 anaconda-ks.cfg
-rw-r--r--. 1 root root 2963 8月   9 20:20 initial-setup-ks.cfg
-rw-------. 1 root root 2054 8月   9 20:18 original-ks.cfg
drwxr-xr-x  2 root root    6 8月  10 08:22 公共
drwxr-xr-x  2 root root    6 8月  10 08:22 模板
drwxr-xr-x  2 root root    6 8月  10 08:22 视频
drwxr-xr-x  2 root root    6 8月  10 08:22 图片
drwxr-xr-x  2 root root    6 8月  10 08:22 文档
drwxr-xr-x  2 root root    6 8月  10 08:22 下载
drwxr-xr-x  2 root root    6 8月  10 08:22 音乐
drwxr-xr-x  2 root root    6 8月  10 08:22 桌面
[root@server1 bin]# 

注意:命令区分大小写

五,编辑命令行

编辑命令行的辅佐操作有以下几种快捷方式

  • Tab 键:自动补齐
  • 反斜杠\:强制换行
  • Ctrl+U:清空至行首
  • Ctrl+K: 清空至行尾
  • Ctrl+L : 清屏
  • Ctrl+C: 取消本次命令编辑

六,获得命令帮助的方法

  • 内部命令 help :查看shell内部命令的帮助信息
    • 命令的“–help”选项 :适用于大多数Linux外部命令
    • 使用man命令阅读手册页
      例如:在这里插入图片描述

七, 查看当前工作目录-pwd

  • 显示用户当前所在的工作目录位置
    例如:
[root@server1 bin]# pwd
/bin
[root@server1 bin]# 

八,切换工作目录-cd

  • 将用户的工作目录更改到其他位置
格式说明
cd目标位置切换到目标位置
cd ~ / cd若不指定目标位置,切换到当前用户的宿主目录
cd -切换到上一次执行cd命令之前所在的目录
  • 绝对路径;完整路径(从根目录开始的路径)
  • 相对路径:从当前路径出发到达目标路径
    在这里插入图片描述

九,列表显示目录内容-ls

  • 显示目录中内容,包括子目录和文件相关属性信息
    ls {选项} {文件或目录…}
  • 常用选项
    -l -a (显示所有文件) -A -d -h -R (递归显示所有子文件) -color
  • 结合通配符
    ?:匹配文件名中的一个未知字符
    * : 匹配文件名中的任意多个字符
    例如·:
[root@server1 ~]# ls -ln
总用量 16
-rw-r--r--   1 0 0    0 8月  12 18:44 abc.txt
-rw-r--r--   1 0 0    0 8月  12 18:42 aber.txt
dr-xr-xr-x   5 0 0 4096 8月  10 05:00 boot
drwxr-xr-x 137 0 0 8192 8月  10 08:20 etc
drwxr-xr-x  21 0 0  296 8月   9 20:18 var
drwxr-xr-x   2 0 0    6 8月  10 08:22 公共
drwxr-xr-x   2 0 0    6 8月  10 08:22 模板
drwxr-xr-x   2 0 0    6 8月  10 08:22 视频
drwxr-xr-x   2 0 0    6 8月  10 08:22 图片
drwxr-xr-x   2 0 0    6 8月  10 08:22 文档
drwxr-xr-x   2 0 0    6 8月  10 08:22 下载
drwxr-xr-x   2 0 0    6 8月  10 08:22 音乐
drwxr-xr-x   2 0 0    6 8月  10 08:22 桌面
[root@server1 ~]# rm ab?.txt    //?删除只能代替一个字母
rm:是否删除普通空文件 "abc.txt"?y
[root@server1 ~]# rm a*.txt
rm:是否删除普通空文件 "aber.txt"?y  //*表示删除以a开头的文件,后面可代替一长串字符
[root@server1 ~]# 

十,设置别名-alias

  • 通过别名机制简化常用的,比较长的命令
    格式: alias 命令别名 = 命令文件名
    例如: 将文件12345678 的别名设置为 123
[root@server1 ~]# ls -ln
总用量 16
drwxr-xr-x   2 0 0    6 8月  12 18:49 12345678  
drwxr-xr-x   2 0 0    6 8月  10 08:22 公共
drwxr-xr-x   2 0 0    6 8月  10 08:22 模板
drwxr-xr-x   2 0 0    6 8月  10 08:22 视频
drwxr-xr-x   2 0 0    6 8月  10 08:22 图片
drwxr-xr-x   2 0 0    6 8月  10 08:22 文档
drwxr-xr-x   2 0 0    6 8月  10 08:22 下载
drwxr-xr-x   2 0 0    6 8月  10 08:22 音乐
drwxr-xr-x   2 0 0    6 8月  10 08:22 桌面
[root@server1 ~]# alias 123="12345678"    //将别名设置为123
[root@server1 ~]# alias -p   //显示设置的别名
alias 123='12345678'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@server1 ~]# alias 123   //查看某个别名代表的含义
alias 123='12345678'
[root@server1 ~]# unalias 123  //删除当前设置的别名,此方法只针对当前状态下的设置,如果退出再进入则无效
[root@server1 ~]# 

十一,指定目录或文件所占用磁盘空间大小

  du  -a : 统计磁盘空间占用时包括所有文件,而不仅仅只统计目录
  du  -h: 以更人性化的方式(默认以B计数,但不显示单位)显示出统计结果
  du  -s :只统计所占用空间总的(Summary)大小,而不是统计每个子目录,文件的大小
[root@server1 ~]# du -sh /var/log/        //统计磁盘所占用的空间大小
6.7M	/var/log/
[root@server1 ~]# du -ah /var/log/     //统计磁盘所每个文件及目录所占用的空间大小并列出来,这里只展示了其中一部分
0	/var/log/tallylog
4.0K	/var/log/grubby_prune_debug
44K	/var/log/lastlog
28K	/var/log/wtmp
4.0K	/var/log/btmp
[root@server1 ~]# 

注意:-s 与 -a 不能同时使用

十二, 创建新目录 mkdir

格式::

  • mkdir aaa 在当前目录下创建 aaa
  • mkdir /aaa/bbb 在aaa目录下创建bbb
    例如:
root@server1 ~]# mkdir aaa   //在当前目录创建aaa
[root@server1 ~]# ls -lh
总用量 16K
drwxr-xr-x   2 root root    6 8月  12 18:49 12345678
drwxr-xr-x   2 root root    6 8月  12 19:20 aaa   //新创建的aaa
dr-xr-xr-x   5 root root 4.0K 8月  10 05:00 boot
drwxr-xr-x 137 root root 8.0K 8月  10 08:20 etc
[root@server1 ~]# mkdir /aaa/bbb     //在目录aaa下面创建bbb
[root@server1 ~]# cd /aaa   //查看创建的bbb
[root@server1 aaa]# ls -ln
总用量 0
-rw-r--r-- 1 0 0 0 8月  11 19:26 aa.txt
drwxr-xr-x 2 0 0 6 8月  12 19:20 bbb   //这里就是刚才创建的bbb

十三 ,创建空文件 -touch

格式: touch 文件
例如:

[root@server1 ~]# touch /aaa/123  //在aaa下面创建文件 123
[root@server1 ~]# cd /aaa
[root@server1 aaa]# ls -ln
总用量 0
-rw-r--r-- 1 0 0 0 8月  12 20:19 123    //此为创建的文件 123
-rw-r--r-- 1 0 0 0 8月  11 19:26 aa.txt
drwxr-xr-x 2 0 0 6 8月  12 19:20 bbb

注意:
touch a 默认在家目录下面创建 路径为:/root/a
touch /a 在根目录下面,要查看的话要进入根目录 :cd /
touch /a/b指的是在根下面创建目录a,并在a下面创建文件 b
例如:touch /aa tt : 指的是在根目录下创建一个aa的文件,而此时tt的路径是:/root/tt
此时,aa指的是绝对路径,而tt是相对路径

十四,创建连接文件 -ln

  • 为文件或目录建立链接文件,类似于windows系统的快捷方式
  • 连接文件类型
    • 软连接 又称为符号连接,创建连接的时,会创建一个访问的快捷方式,当删除链接时
      软连接失效
    • 硬链接 :创建连接时,会创建一个文件,删除连接对文件没有影响

例如:

硬链接:
[root@server1 ~]# vi a.txt  / 创建一个a文件,并编辑内容为123
[root@server1 ~]# cat a.txt
123
[root@server1 ~]# ln a.txt b.txt   / 给a 创建一个硬链接b
[root@server1 ~]# cat b.txt      /查看b链接
123
[root@server1 ~]# rm a.txt    /删除 a 链接
rm:是否删除普通文件 "a.txt"?y
[root@server1 ~]# cat a.txt
cat: a.txt: 没有那个文件或目录
[root@server1 ~]# cat b.txt     /查看b链接依旧存在
123
软连接:(要绝对路径,不要相对路径)
[root@server1 ~]# vi a.txt   /创建a连接 ,并编辑内容为 000
[root@server1 ~]# cat a.txt   
000

[root@server1 ~]# ln -s a.txt c.txt   /给 a 创建 软连接 c
[root@server1 ~]# cat c.txt     /查看软连接 c
000

[root@server1 ~]# rm a.txt    /删除 a
rm:是否删除普通文件 "a.txt"?y
[root@server1 ~]# cat c.txt   / 查看 c  此时 c 也同时失效
cat: c.txt: 没有那个文件或目录

十四,复制文件或者目录 - cp

  • 将需要复制的文件或目录(源)重建一份,并保存为新的文件或者目录
  • 格式为: cp [选项】… 源文件或目录 … 目标文件或目录
  • 常用选项
选项说明
-f覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i覆盖目标文件或目录时提醒用户确认
-p复制时保持源文件的权限,属主及时间标记等属性不变
-r复制目录时必须使用此选项,表示递归复制所有文件及子目录
例如:
[root@server1 ~]# cp -rp /root/12345678/ /aaa      //复制 12345678到 aaa下面
[root@server1 ~]# ls -ln
总用量 16
drwxr-xr-x   2 0 0    6 8月  12 18:49 12345678
drwxr-xr-x   2 0 0    6 8月  12 19:20 aaa
dr-xr-xr-x   5 0 0 4096 8月  10 05:00 boot
[root@server1 ~]# cd /aaa     //进入查看aaa
[root@server1 aaa]# ls -ln
总用量 12
-rw-r--r--  1 0 0    0 8月  12 20:19 123
drwxr-xr-x  2 0 0    6 8月  12 18:49 12345678   //文件已被复制过来
drwx------  9 0 0  139 8月  12 20:56 proc

十五,删除文件或目录 - rm

  • 格式 :rm 删除的文件或目录
  • 常用选项 :-f(忽略不存在的文件和参数,不提示) , -i (移除前提示), -r(递归删除目录及其文件)
    例如:
drwxr-xr-x   2 0 0    6 8月  12 21:08 12345678
drwxr-xr-x   2 0 0    6 8月  12 19:20 aaa
drwxr-xr-x   2 0 0    6 8月  10 08:22 下载
drwxr-xr-x   2 0 0    6 8月  10 08:22 音乐
drwxr-xr-x   2 0 0    6 8月  10 08:22 桌面
[root@server1 ~]# rm -r 12345678 / 删除 12345678
rm:是否删除目录 "12345678"?y
[root@server1 ~]# 
[root@server1 ~]# cd /aaa
[root@server1 aaa]# ls -ln
总用量 12
-rw-r--r--  1 0 0    0 8月  12 20:19 123
drwxr-xr-x  2 0 0    6 8月  12 18:49 12345678   //此时aaa下的12345678文件
[root@server1 aaa]# cd
[root@server1 ~]# rm -rf /aaa/12345678   //递归删除aaa下的文件12345678
[root@server1 ~]# cd /aaa
[root@server1 aaa]# ls -ln
总用量 12
-rw-r--r--  1 0 0    0 8月  12 20:19 123

十六,移动文件或目录- mv

格式:mv 源文件或目录 目标文件或目录
例如:

drwxr-xr-x   2 0 0    6 8月  12 19:20 aaa
drwxr-xr-x   2 0 0    6 8月  12 21:18 bbb
dr-xr-xr-x   5 0 0 4096 8月  10 05:00 boot
drwxr-xr-x 137 0 0 8192 8月  10 08:20 etc
[root@server1 ~]# mv /root/aaa /bbb    //将aaa移动到 bbb下面
[root@server1 ~]# ls -ln   //查看已经没有aaa
总用量 16
drwxr-xr-x   2 0 0    6 8月  12 21:18 bbb
dr-xr-xr-x   5 0 0 4096 8月  10 05:00 boot
drwxr-xr-x 137 0 0 8192 8月  10 08:20 etc

[root@server1 ~]# cd /bbb  //进入bbb查看
[root@server1 bbb]# ls -ln
总用量 0
drwxr-xr-x 2 0 0 6 8月  12 19:20 aaa //aaa已被移动过来
[root@server1 bbb]# 

十七 查找命令 /或文件目录存放目录-which

格式:which 文件或者目录名

例如:

[root@server1 ~]# which ls  
alias ls='ls --color=auto'  
	/usr/bin/ls  //文件存放位置
[root@server1 ~]# 

十八,查找文件或目录 -find

格式:find 查找范围 查找条件

查找类型关键字说明
按名称查找-name根据目录文件的名称进行查找,允许使用“*”及“?”通配符
按文件大小查找-size一般使用“+”,“-”号设置超过或小于指定的大小作为查找条件
按文件属主-user根据文件是否属于目标用户进行查找
按文件类型查找-type根据文件的类型进行查找,文件类型包括普通文件(f),目录(d)块设备文件(b)字符设备文件(c)等

例如:

[root@server1 ~]# find /aaa -size +100k -a -name "1*"  //查找aaa目录下以1开头并超过100k的文件
/aaa/123    //显示出了文件全名及路径
[root@server1 ~]# 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值