Linux小白入门必看1——基础命令+操作,超详细,照着敲都会!

一、Linux命令的分类

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

如何知道一个命令是内部命令还是外部命令,可以使用type命令
例:

[root@HOST ~]# type echo //格式为tupe加命令
echo is a shell builtin  //可以看到echo为内部命令

二、常用命令

2.1 切换工作目录——cd

  1. 进入别的工作目录
    cd 目录名
    例:
[root@HOST ~]# cd /opt
[root@HOST opt]# 
  1. 回到上一层目录
[root@HOST ~]# cd /var/log
[root@HOST log]# cd ..
[root@HOST var]# cd ..
[root@HOST /]# cd ..
[root@HOST /]#
  1. 回到上一次目录
[root@HOST ~]# cd /var/log
[root@HOST log]# cd -
/root
[root@HOST ~]# 
  1. 回到当前的家目录
[root@HOST ~]# cd /opt
[root@HOST opt]# cd ~
[root@HOST ~]# 

2.2 查看当前所在工作目录——pwd

[root@HOST ~]# pwd
/root
[root@HOST ~]# cd /opt
[root@HOST opt]# pwd
/opt

2.3 列表显示目录内容——ls

-a :显示带. 的文件,这是隐藏文件
-c :按文件修改时间排序
-i :在输出的第一列显示文件的i节点号
-l :已长格式显示文件的详细信息
-r :按逆序显示ls命令的输出结果
-R :递归的显示指定目录的各个子目录中的文件
-d :查看文件
-h :优化显示的字节数

例:
-a

[root@HOST /]# ls -a
.   bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
..  boot  etc  lib   media  opt  root  sbin  sys  usr

-c

[root@HOST /]# ls -c
tmp  run  etc  boot  root  dev  var  sys  proc  home  opt  usr  lib  lib64  media  mnt  sbin  srv  bin

-i

[root@HOST /]# ls -i
    30786 bin   805307552 home   268435653 mnt        1140 run   268435528 tmp
       64 boot         80 lib    537171936 opt       30790 sbin  537171879 usr
     1025 dev          82 lib64          1 proc  805307553 srv   805306433 var
268435521 etc          83 media  537160769 root          1 sys

-l ,ls l在使用时通过alias的别名设置,可以直接使用 ll

[root@HOST /]# ll
total 24
lrwxrwxrwx.   1 root root    7 Jul 14 14:08 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Jul 14 14:17 boot
drwxr-xr-x.  20 root root 3300 Jul 14 14:17 dev
drwxr-xr-x. 138 root root 8192 Jul 24 14:33 etc
drwxr-xr-x.   3 root root   18 Jul 14 14:15 home
lrwxrwxrwx.   1 root root    7 Jul 14 14:08 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Jul 14 14:08 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Nov  5  2016 media
drwxr-xr-x.   2 root root    6 Nov  5  2016 mnt
drwxr-xr-x.   3 root root   16 Jul 14 14:13 opt
dr-xr-xr-x. 208 root root    0 Jul 14 14:16 proc
dr-xr-x---.   5 root root  184 Jul 14 14:17 root
drwxr-xr-x.  41 root root 1200 Jul 24 14:42 run
lrwxrwxrwx.   1 root root    8 Jul 14 14:08 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Nov  5  2016 srv
dr-xr-xr-x.  13 root root    0 Jul 14 14:17 sys
drwxrwxrwt.  14 root root 4096 Jul 24 14:35 tmp
drwxr-xr-x.  13 root root  155 Jul 14 14:08 usr
drwxr-xr-x.  21 root root 4096 Jul 14 14:17 var

-h优化显示后,与上一例对比

[root@HOST /]# ls -lh
total 24K
drwxr-xr-x.   2 root root    6 Jul 24 14:58 a
drwxr-xr-x.   2 root root    6 Jul 24 14:58 b
lrwxrwxrwx.   1 root root    7 Jul 14 14:08 bin -> usr/bin
dr-xr-xr-x.   5 root root 4.0K Jul 14 14:17 boot
drwxr-xr-x.   2 root root    6 Jul 24 14:58 c
drwxr-xr-x.  20 root root 3.3K Jul 14 14:17 dev
drwxr-xr-x. 138 root root 8.0K Jul 24 14:33 etc
drwxr-xr-x.   3 root root   18 Jul 14 14:15 home
lrwxrwxrwx.   1 root root    7 Jul 14 14:08 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Jul 14 14:08 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Nov  5  2016 media
drwxr-xr-x.   2 root root    6 Nov  5  2016 mnt
drwxr-xr-x.   3 root root   43 Jul 24 14:58 opt
dr-xr-xr-x. 208 root root    0 Jul 14 14:16 proc
dr-xr-x---.   5 root root  184 Jul 14 14:17 root
drwxr-xr-x.  41 root root 1.2K Jul 24 14:42 run
lrwxrwxrwx.   1 root root    8 Jul 14 14:08 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Nov  5  2016 srv
dr-xr-xr-x.  13 root root    0 Jul 14 14:17 sys
drwxrwxrwt.  14 root root 4.0K Jul 24 14:35 tmp
drwxr-xr-x.  13 root root  155 Jul 14 14:08 usr
drwxr-xr-x.  21 root root 4.0K Jul 14 14:17 var

-r

[root@HOST /]# ls -r
var  usr  tmp  sys  srv  sbin  run  root  proc  opt  mnt  media  lib64  lib  home  etc  dev  boot  bin

-R

[root@HOST opt]# ls -R
.:
a  aa  b  c  rh

./aa:
bb

./aa/bb:

./rh:

2.4 设置别名——alias

通过别名机制用来简化常用的,比较长的命令
alias 命令别名 = 命令

[root@HOST opt]# alias
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'

2.5 创建新目录mkdir

mkdir [选项] 目录位置及名称
-p: 一次性创建多层嵌套的目录

[root@HOST ~]# mkdir -p /opt/abc/123

[root@HOST opt]# cd /opt/abc/123 //进去看一下
[root@HOST 123]# cd .. //退到上层目录
[root@HOST abc]# cd ..
[root@HOST opt]# cd ..
[root@HOST /]# 

2.6 创建空文件——touch命令

touch 文件 ,可同时创建多个文件

[root@HOST opt]# touch aa bb cc
[root@HOST opt]# ll
total 0
-rw-r--r--. 1 root root 0 Jul 24 16:24 aa
-rw-r--r--. 1 root root 0 Jul 24 16:24 bb
-rw-r--r--. 1 root root 0 Jul 24 16:24 cc

2.7 创建链接文件——ln

ln [-s] 原文件或目录 链接文件或目标位置

软链接 硬链接
-s 不加s
既可以创建文件也可以创建目录 只能创建文件
原文件删除不能访问 原文件删除仍可访问
[root@HOST opt]# ln aa aa1 //硬链接
[root@HOST opt]# ln -s aa aa2 //软链接
[root@HOST opt]# ll
total 0
-rw-r--r--. 2 root root 0 Jul 24 16:24 aa //原文件
-rw-r--r--. 2 root root 0 Jul 24 16:24 aa1 //硬链接文件
lrwxrwxrwx. 1 root root 2 Jul 24 16:38 aa2 -> aa //软链接文件
-rw-r--r--. 1 root root 0 Jul 24 16:24 bb
-rw-r--r--. 1 root root 0 Jul 24 16:24 cc

2.8 复制文件或目录——cp

cp [选项] 原文件或目录 目标文件或目录
常用选项:

选项 用法
-f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限、属主及时间标记等属性不变
-r 复制目录时必须使用此选项,表示递归复制所有的文件及子目录
[root@HOST opt]# cp -r /opt/ /root/ //把opt整个目录及子目录复制到root目录下
[root@HOST opt]# cd 
[root@HOST ~]# ll
total 8
-rw-------. 1 root root 2046 Jul 14 14:16 anaconda-ks.cfg
-rw-r--r--. 1 root root 2094 Jul 14 14:17 initial-setup-ks.cfg
drwxr-xr-x. 2 root root   58 Jul 24 17:01 opt

2.9删除文件或目录 ——rm

rm [选项] 要删除的文件及目录
-f : 不提示
-i : 提示
-r : 递归目录删除
-d : 删除目录,不管它是否为空
高危命令 rm -rf * ,在根目录下敲就全没了

2.10移动文件或目录——mv

有两种用处
一、将指定的文件或目录转移位置
二、如果目标位置与源位置相同,则为重命名操作
mv [选项] 源文件或目录 目标文件或目录
-i 交互模式 当移动的目录存在同名的目标文件时,用覆盖方式写文件,但
在写入之前给出提示
-f 在目标文件已存在时,不给出任何提示

[root@HOST opt]# ll
total 4
-rw-r--r--. 1 root root 4 Jul 27 18:50 1.txt
drwxr-xr-x. 2 root root 6 Mar 26  2015 rh
[root@HOST opt]# mv 1.txt /root #把1.txt文件移到opt目录下
[root@HOST opt]# ll #查看下,源目录下没有1.txt
total 0
drwxr-xr-x. 2 root root 6 Mar 26  2015 rh
[root@HOST opt]# cd /root
[root@HOST ~]# ll #目标目录下出现1.txt
total 12
-rw-r--r--. 1 root root    4 Jul 27 18:50 1.txt
-rw-------. 1 root root 2046 Jul 14 14:16 anaconda-ks.cfg
-rw-r--r--. 1 root root 2094 Jul 14 14:17 initial-setup-ks.cfg

2.11查找命令、文件存放目录——which

搜索范围由环境变量PATH决定(echo&PATH)
在这里插入图片描述
which [选项] 命令|程序名

[root@HOST ~]# which ls
alias ls='ls --color=auto'
        /usr/bin/ls

2.12 查找文件或目录——find

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
常用查找条件类型;

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

使用find命令实现多个查找条件
各表达式之间使用逻辑运算符:“-a”表示而且(and)
"-o"表示或者(or)

[root@HOST ~]# find /boot -size +1024k -a -name "vm*"#在boot目录下查找大小大于1024kB而且名字是vm开头的文件或目录
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/vmlinuz-0-rescue-9052c071f8254c31aba796d7b5dbc092

猜你喜欢

转载自blog.csdn.net/m0_47452405/article/details/107559627