linux基础指令(详细)

系统:centos7

ps:输入文件时可以按tab键进行补全(或者按两次tab键进行类似文件的查询)

1.Linux系统命令提示符组成

[root@localhost ~]#
root         Linux操作系统的管理员 显示当前登录的系统用户
@            分隔符
localhost    主机名称
~            显示当前所在的路径(当前在哪个目录下)
~            表示家目录 /root/  默认登录操作系统所在的位置
#           表示用户的提示符  # 表示管理员用户   $表示普通用户

1.2.命令语法格式


(1)命令      直接回车
(2)命令 空格 [参数选项]   # 每个参数表示不同的功能
(3)命令 空格 [参数选项] 空格 文件/目录
         注意空格不可缺 新手经常犯此类错误 将命令打在一起 或者本该在一起的用空格分开

2.linux基础命令

2.1 pwd 


pwd  查看当前路径 (print working directory)     

[root@localhost ~]# pwd
/root          # 默认的(出生点)在家里面/目录 root目录

cd     切换目录        (change directory)(就像在window里面双击目录打开)
cd     #   回到主目录 (初始目录 波浪号)
cd -   #   切换回上一次所在的工作目录‌。
cd ~  #   cd + 文件位置 (切换到该文件位置)
cd ..   #   切换到该文件的上一级 (如目前在 /etc/yum.repos.d/ 目录下 使用此命令将到 /etc 目录下)

案例1.使用相对路径 一级一级的到/dev目录\

[root@localhost etc]# cd 
[root@localhost ~]# cd /
[root@localhost /]# cd dev
[root@localhost dev]# pwd
/dev

案例2.使用绝对路径 直接进入到/usr目录

[root@localhost dev]# cd /usr
[root@localhost usr]# pwd
/usr

案例3.深入目录 使用绝对路径/etc/sysconfig/networ-scripts/

[root@localhost usr]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# 

案例4.回到家目录 (多方法)

[root@localhost network-scripts]# cd /root
[root@localhost ~]# pwd
/root

[root@localhost network-scripts]# cd ~
[root@localhost ~]# 

[root@localhost network-scripts]# cd 
[root@localhost ~]# 

[root@localhost ~]# cd -
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# 

2.2 ls

ls 查看文件或者目录
    -l  文件的详细信息
ls -l = ll(ls的缩写可以直接如此使用)
    -a 显示隐藏文件

ls 直接回车 显示当前目录下所有的内容
ls  文件   查看文件是否存在
ls  目录   查看指定目录下的所有的文件

案例1. 显示当前目录下的所有的文件

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

案例2. 查看指定目录下的文件(截取部分)

[root@localhost /]# ll /dev
总用量 0
crw-rw----. 1 root video    10, 175 6月  12 10:20 agpgart
crw-------. 1 root root     10, 235 6月  12 10:20 autofs
drwxr-xr-x. 2 root root         180 6月  12 10:20 block
drwxr-xr-x. 2 root root          80 6月  12 10:20 bsg

案例3.查看文件的详细信息

[root@localhost /]# ll /etc/passwd
-rw-r--r--. 1 root root 3522 5月  30 21:05 /etc/passwd

案例4.查看多个文件的详细信息

[root@localhost /]# ll /etc/shadow /etc/passwd
-rw-r--r--. 1 root root 3522 5月  30 21:05 /etc/passwd
----------. 1 root root 1595 5月  30 21:05 /etc/shadow

再尝试查看etc目录下的passwd文件和dev目录下的shadow文件

[root@localhost /]# ll /dev/shadow /etc/passwd
ls: 无法访问/dev/shadow: 没有那个文件或目录
-rw-r--r--. 1 root root 3522 5月  30 21:05 /etc/passwd

 一次显示/etc/passwd详细信息和/dev目录下所有文件的详细信息(截取部分)

[root@localhost /]# ll /etc/passwd /dev
-rw-r--r--.  1 root root 3522 5月  30 21:05 /etc/passwd

/dev:
总用量 0
crw-rw----. 1 root video    10, 175 6月  12 10:20 agpgart
crw-------. 1 root root     10, 235 6月  12 10:20 autofs
drwxr-xr-x. 2 root root         180 6月  12 10:20 block

错误目录尝试

[root@localhost /]# ls /etc/passsssssss
ls: 无法访问/etc/passsssssss: 没有那个文件或目录


2.3 .touch  

 
语法结构:
 # 创建普通文件  如果文件存在则只修改文件的时间 不会影响文件的内容
touch 普通文件                    #默认在当前文件夹         
touch file1  file2                 #可以同时创建多个文件       
touch /etc/wbbb                    #在指定的目录下创建文件wbbb

案例1.在当前目录创建wbbb  #注意当前位置

[root@localhost ~]# touch wbbb
[root@localhost ~]# ll
总用量 8
-rw-------. 1 root root 2057 5月  30 21:06 anaconda-ks.cfg
-rw-r--r--. 1 root root 2105 5月  30 21:07 initial-setup-ks.cfg
-rw-r--r--. 1 root root    0 6月  12 10:59 wbbb

案例2.在当前目录一次性创建多个文件(截取部分)

[root@localhost ~]# touch 1.txt touch 2.txt
[root@localhost ~]# ll
总用量 8
-rw-r--r--. 1 root root    0 6月  12 11:01 1.txt
-rw-r--r--. 1 root root    0 6月  12 11:01 2.txt

案例3.在指定的目录下创建单个文件 /mnt/wbbb.txt 相对路径: 进入到/mnt目录然后创建wbbb

[root@localhost ~]# cd /mnt
[root@localhost mnt]# touch wbbb.txt
[root@localhost mnt]# ll
总用量 0
drwxr-xr-x. 2 root root 6 5月  30 21:14 hgfs
-rw-r--r--. 1 root root 0 6月  12 11:05 wbbb.txt

绝对路径(方便)
可以在任何位置创建想要位置的文件

[root@localhost mnt]# touch /mnt/wbbb
[root@localhost mnt]# ll
总用量 0
drwxr-xr-x. 2 root root 6 5月  30 21:14 hgfs
-rw-r--r--. 1 root root 0 6月  12 11:06 wbbb
-rw-r--r--. 1 root root 0 6月  12 11:05 wbbb.txt

案例5.在上一级创建wbbb.txt(截取部分)

[root@localhost mnt]# touch ../wbbb.txt
[root@localhost mnt]# cd ..
[root@localhost /]# ll
-rw-r--r--.   1 root root     0 6月  12 11:07 wbbb.txt

注意: 在目录下创建文件,目录必须存在的,不支持同时创建不存在的目录

2.4 mkdir

mkdir 创建目录  (make directory)
mkdir 111                           #mkdir 加目录名字
mkdir -p  1/2                 #mkdir 加目录名字可以递归创建(叠加创建 )
                                         #递归创建1文件下的2   (没有1时同时创建1)
mkdir /mnt/目录名称           # 指定在某个目录下创建

案例1.在当前家位置创建test1目录

[root@localhost ~]# mkdir 111
[root@localhost ~]# ll
总用量 8
drwxr-xr-x. 2 root root    6 6月  12 11:22 111

案例2.在111下一次创建多个目录 222 333 444

[root@localhost ~]# cd 111/
[root@localhost 111]# mkdir 222 333 444
[root@localhost 111]# ll
总用量 0
drwxr-xr-x. 2 root root 6 6月  12 11:23 222
drwxr-xr-x. 2 root root 6 6月  12 11:23 333
drwxr-xr-x. 2 root root 6 6月  12 11:23 444


案例4.在多个目录下创建不同的目录

[root@localhost 111]# mkdir 222/111 333/222
[root@localhost 111]# ll 222 333
222:
总用量 0
drwxr-xr-x. 2 root root 6 6月  12 11:29 111

333:
总用量 0
drwxr-xr-x. 2 root root 6 6月  12 11:29 222

案例5.递归创建目录

[root@localhost 111]# cd 
[root@localhost ~]# mkdir -p 111/222/333
注意: 创建目录可以递归,创建文件不可以递归

2.5 tree


.tree  树形结构显示目录
  -L    显示层级 -L 1 (只显示第一层)

[root@localhost ~]# tree
bash: tree: 未找到命令...

yum install tree -y        #没有的话下载一下(搜一下如何配置阿里云镜像源)

[root@localhost ~]# tree 111/
111/
├── 222
│   ├── 111
│   └── 333
├── 333
│   └── 222
└── 444

2.6 cat

cat         # 查看文件的内容,合并多个文件

        -n   # 显示行号 number

语法结构:

        cat 文件

        cat /目录/文件

        cat file1 file2

案例1.查看/etc/hosts文件中的内容

[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

案例2.查看当前a.txt中的文件 啥都不显示则为空

[root@localhost ~]# cat wbbb 
 

案例3.显示行号:

[root@localhost ~]# cat -n /etc/hosts
     1    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
     2    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

2.7.clear

clear        #清屏也可以使用ctrl + l (非常的好使)

2.8 cp

cp     # 复制文件 类似windows的 ctrl+c   copy

语法结构:

        cp 源文件 目标位置

        cp 源文件 新文件的名称

        cp file1 file2 目录/

        cp 目录   目标位置

        -r 复制目录,递归拷贝目录及目录下所有的文件

案例1.复制wbbb.txt 到/opt目录下 名称不变

[root@练习 111]# cd 
[root@练习 ~]# ls
111  anaconda-ks.cfg  initial-setup-ks.cfg  
[root@练习 ~]# touch wbbb.txt

[root@练习 ~]# cp wbbb.txt  111/
[root@练习 ~]# ls 111/
1fuck  1.txt  2fuck  2.txt  3fuck  3.txt  fuck1  fuck3  wbbb.txt
1.log  1.TXT  2.log  2.TXT  3.log  3.TXT  fuck2  s.txt

如果再次把wbbb.txt文件复制到111目录下 会提示是否覆盖(上一次的wbbb.txt文件)

[root@练习 ~]# cp wbbb.txt  111/
cp:是否覆盖"111/wbbb.txt"?

输入 n        (no)        不覆盖

输入y        (yes)        覆盖

ctrl + c 或者 ctrl + d 停止复制(覆盖)的动作

案例2.复制当前的wbbb.txt 到当前的位置名字为wbbb.txt.bak(截取部分)

[root@练习 ~]# cp wbbb.txt wbbb.txt.bak
[root@练习 ~]# ls
111  anaconda-ks.cfg  initial-setup-ks.cfg  wbbb.txt  wbbb.txt.bak 

案例3.拷贝wbbb目录到/111目录下

[root@练习 ~]# rm -rf wbbb
[root@练习 ~]# rm -rf wbbb.txt
[root@练习 ~]# rm -rf wbbb.txt.bak 
[root@练习 ~]# ls
111  anaconda-ks.cfg  initial-setup-ks.cfg  
[root@练习 ~]# mkdir wbbb
[root@练习 ~]# ls
111  anaconda-ks.cfg  initial-setup-ks.cfg  wbbb  
[root@练习 ~]# cp wbbb/ 111/
cp: 略过目录"wbbb/"

#Linux系统中大部分命令无法直接操作目录太危险

[root@练习 ~]# cp -r wbbb/ 111/
[root@练习 ~]# ls 111/
1fuck  1.txt  2fuck  2.txt  3fuck  3.txt  fuck1  fuck3  wbbb
#加上-r就可以了

2.9 mv

mv 移动         move         windows的ctrl+x(剪切)

语法结构:

        mv 源文件 目标位置

        mv file1 file2 目标文件

        mv 源文件名称 新文件的名称

案例1.移动qqq.txt文件到/tmp目录下

[root@练习 ~]# touch qqq
[root@练习 ~]# touch qqq.txt
[root@练习 ~]# mv qqq.txt 111/
[root@练习 ~]# ls 111/
1fuck  1.txt  2fuck  2.txt  3fuck  3.txt  fuck1  fuck3    s.txt  wbbb.txt
1.log  1.TXT  2.log  2.TXT  3.log  3.TXT  fuck2  qqq.txt 

案例2.移动多个文件到/tmp目录下

[root@练习 ~]# rm -rf /1
111     1G.txt  
[root@练习 ~]# rm -rf 111/
[root@练习 ~]# ls
anaconda-ks.cfg       qqq   wbbb.txt      
initial-setup-ks.cfg  wbbb  wbbb.txt.bak  
[root@练习 ~]# mkdir 111
[root@练习 ~]# mv qqq  wbbb 111/
[root@练习 ~]# ls 111/
qqq  wbbb

案例3.强制覆盖不提示

[root@练习 ~]# mkdir wbbb
[root@练习 ~]# \mv wbbb 111/

案例4.移动目录

[root@练习 ~]# mkdir 111
[root@练习 ~]# mv 111 wbbb
[root@练习 ~]# ls wbbb
111  qqq  wbbb

2.10 rm

rm   # 删除文件或目录   remove

语法结构:

rm 文件

rm file1 file2

rm 目录

-f 强制删除文件不提示

-rf 强制删除目录不提示

案例1.删除当前的bak文件

[root@练习 ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  wbbb  wbbb.txt  wbbb.txt.bak
[root@练习 ~]# rm -f wbbb.txt.bak 

案例2.删除多个文件

[root@练习 ~]# rm -f wbbb/wbbb.txt wbbb.txt
[root@练习 ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  wbbb 

案例3.删除目录wbbb不提示

[root@练习 ~]# rm -rf wbbb
[root@练习 ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg

2.11 vim

vim命令 文件编辑器 vi的高级版本

语法结构:

        vim 文件名称         # 文件可以存在,如果不存在则创建

        vim /路径/文件名称    (如配置文件空白注意是否文件名字错误)

vim编辑文件的流程:

第一步: vim 文件名称        进入到视图模式 只能看(只能用滚轮或者鼠标)

第二步: 按a或者i     进入到编辑模式        可以输入内容

第三步: esc 返回到视图模式

第四步: 输入:wq     保存并且退出 w (write) q (quit)

ps: 如果文件修改错误懒得改可以 q! (不保存强制退出回到未作编辑的状态)

2.12 echo

        echo命令        输出字符串到屏幕上或者文件中

语法格式:

        echo 字符串         # 输出到屏幕

        echo 字符串 > 文件  # 输出到文件

案例1.echo输出姓名到屏幕上

[root@练习 ~]# echo wuboli
wuboli
[root@练习 ~]# echo fuck vs bin
fuck vs bin

案例2.使用特殊字符

\n表示回车 换行符    \t表示tab键     空格    tab键

[root@练习 ~]# echo -e "fuck \n vs \n bin"
fuck 
 vs 
 bin
[root@练习 ~]# echo -e "fuck\nvs\nbin"
fuck
vs
bin

案例2.数字序列的使用方法

[root@练习 ~]# echo {1..5}
1 2 3 4 5
[root@练习 ~]# echo {1..10..2}
1 3 5 7 9
[root@练习 ~]# echo {1..100..2}
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
[root@练习 ~]# echo {01..10}
01 02 03 04 05 06 07 08 09 10

案例3.字母序列

[root@练习 ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@练习 ~]# echo {a..z..2}
a c e g i k m o q s u w y

ps:后面的..2意思就是隔两个(几个 数字可以随意更改)

案例4.拼接(截取部分)

[root@练习 ~]# echo W{1..5}
W1 W2 W3 W4 W5
[root@练习 ~]# echo {1..5..2}W
1W 3W 5W
[root@练习 ~]# mkdir  {1..5..2}W
[root@练习 ~]# ls
1W  3W  5W

案例5.批量创建文件

[root@练习 ~]# mkdir wbl
[root@练习 ~]# cd wbl/
[root@练习 wbl]# mkdir {1..3}.txt
[root@练习 wbl]# ls
1.txt  2.txt  3.txt

案例6.批量创建目录 / 文件

[root@练习 wbl]# mkdir test
[root@练习 wbl]# touch test/{1..3}.txt
[root@练习 wbl]# ls test/
1.txt  2.txt  3.txt

[root@练习 wbl]# mkdir test/{1..3}
[root@练习 wbl]# ls test/
1  1.txt  2  2.txt  3  3.txt

 ps:这个{}里面其实还可以塞非序列文字,用 , 隔开 也可以输出

ps:目前就先到这,后面会持续更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值