二、linux基础命令

2.1 linux的提示符

1. [root@localhost~]#

提示符的格式

1. [当前用户名@当前的主机名 当前所在的位置]身份标识符

root的提示符

1. [root@localhost~]#

tom的提示符

1.[tom@localhost~]$

身份标识有俩种

1. #表示这个用户是管理员
2. $表示这个用户是普通用户

当前所在的位置

当前所在的位置-工作目录

工作目录的表示形式有俩种

1. 形式1:具体的目录
2. 形式2:~

~表示的是当前用户家目录 

案例1:

1. [root@localhost etc]#

1.当前用户名是root

2.当前计算机的主机名是localhost

3.当前的路劲是etc

4.当前的用户身份是管理员

案例2:

1.  [tom@localhost etc]$

1.当前的用户名是tom

2.当前的主机名是localhost

3.当前所在的路径是etc

4.当前的用户是普通用户

linux的俩种界面:

  • 图形界面
  •   类似于windows,可以用鼠标点击操作
  • 字符界面
  •   类似于dos系统,所有的操作都只能依靠命令 

2.2 linux的命令格式

1. 命令 [选项] 参数
  • 命令:linux中所有的命令,是严格区分大小写
  • 选项:选项是用于控制命令的执行过程
  • 参数:参数是指命令的作用对象

造型

1. 短选项:-字母
2. 长选项:--单词
  •  短选项可以进行合并

2.3 linux目录结构

windows是多跟系统

linux是单根系统

windows的目录结构:

  • windows 是一个多根系统
  • 每个磁盘/分区都是一个根
  • 你在存储文件的时候,文件一定是存储在某一个根目录之下
  • 目录结构是倒树状结构

linux的目录结构特点:

  • linux是一个单根系统
  • 你在linux中存储文件,只会有一个存储位置,就是 / 、
  • 目录结构是倒树状结构 

注意: 根的用法/

linnux根目录下的主要文件

1. /bin:存放的的是命令
2. /sbin:存放的的是命令
3. /tmp:存放临时文件【任何用户都可以在这个目录进行读写操作,但是只能操作自己的文件;这个目录
下的文件30天没有被访问或使用,就会被自动删除】
4. /etc:存储各种配置文件
/etc/inittab
/etc/rc.local
/etc/httpd/httpd.conf
/etc/sysconfig/network-scripts/ifcfg-eth0
5. /home:存放普通用户家目录
6. /root:root用户的家目录
7. /usr:自定义安装软件保存位置
       /usr/bin:存放的的是命令
       /usr/sbin:存放的的是命令
8. /var:存储经常发生改变的文件
        /var/log/messages
        /var/log/secure
9. /dev:存储设备文件

2.4 linux基础命令

2.4.1 pwd

  • 全程:Print Working Directory
  • 作用:显示当前所在的路径
  • 格式:
  • 1. pwd

 案例:

1.[root@localhost network-scripts]# pwd
2./etc/sysconfig/network-scripts
1. [root@localhost 桌面]# pwd
2. /root/桌面

最左侧的 / 表示的是系统根目录

/root/桌面 表示 当前所在的位置是 根下的root下的桌面目录中

案例:

1.[root@localhost network-scripts]# pwd
2.etc/sysconfig/network-scripts

我当前所在的位置是 根目录下的etc目录下的sysconfig目录下的/network-scripts目录中

案例:

1. [root@localhost /]# pwd
2./

当前我在根目录下

2.4.2 cd

  • 全称:Change Directory
  • 作用:切换目录的
  • 格式:
  • 1. cd 目标位置
    

案例1:切换到根目录下

1. cd /

 案例2:切换到dev目录下

dev在根目录下

1. cd /dev

注意:路径是连续的,不能加 空格

目录和目录之间,用/进行分割

案例3:切换etc下的sysconfig目录中    etc在根目录下

1. cd /etc/sysconfig
或者
2. cd /etc/sysconfig/

总结:

1.cd /     进入根目录
2.cd ~     进入当前用户家目录
3.cd       进入当前用户家目录
4.cd -     进入上次执行cd前所在
5.cd ..    进入上一层目录

2.4.3 clear

  • 作用:清空屏幕
  • 格式: 
1. clear

快捷键:ctrl+l

 2.4.4 touch

  • 作用:新建空白文本文件
  • 格式:
格式1:touch 文件名 在当前位置下创建文件
格式2:touch 路径/文件名 在指定的位置下创建文件

案例1:在当前位置下创建文件a1.txt

1. touch a1.txt
1.touch a1.txt             # 在当前目录下创建a1.txt
2.touch /a1.txt            # 在根目录下创建a1.txt
3.touch ~/a1.txt           # 在当前用户家目录下创建a1.txt
4.touch /etc/a1.txt        # 在/etc下创建a1.txt
5.touch /etc/sysconfig/a1.txt # 在/etc/sysconfig/下创建a1.txt
6.touch ../a1.txt          # 在当前所在目录的上一级目录中,创建a1.txt
7.touch ../../a1.txt       # 在当前所在目录的上一级的上一级目录中,创建a1.txt
8.touch ../sysconfig/a1.txt

案例2:去根目录下,创建a2.txt

方法1:
cd /
touch a2.txt
方法2:
touch /a2.txt

案例3:去根etc下,创建a3.txt

方法1:
cd /etc
touch a3.txt
方法2:
touch /etc/a3.txt

案例4:去根etc下的sysconfig中,创建a4.txt

方法1:
cd /etc/sysconfig
touch a4.txt
方法2:
touch /etc/sysconfig/a4.txt

2.4.5  执行命令报错信息

执行命令可能成功也可能失败

  • 通常执行成功是没有信息的
  • 通常执行失败都会有返回信息

导致命令执行失败有几种可能

第一种:命令写错了,报错信息格式

 bash: 命令 command not found ...

第二种:文件路径错误,报错信息格式

命令 : 报错提示                     : 产生错误的原因
touch: cannot touch /taaaa/aaa.txt : no such file or directory

第三种:没有权限

命令:报错提示                      : 产生错误的原因
touch: cannot touch /taaaa/aaa.txt : permission denied

2.4.6 mkdir

  • 全称:MaKe DIRectory
  • 作用:新建文件夹/目录
  • 格式:
  • 格式1:在当前位置下直接创建目录:mkdir 目录名
    格式2:在指定位置下直接创建目录:mkdir [选项] 路径/目录名

    案例1:在当前位置下创建目录dir1

 mkdir dir1

案例2:在home下创建目录dir2

mkdir /home/dir2

案例3:在tmp下创建目录dir3

mkdir /tmp/dir3

案例4:在根目录下创建目录dir4

mkdir /dir4

案例5:在tmp下,创建目录a1,在a1里面创建a2,在a2,里面创建a3

mkdir /tmp/a1/a2/a3 -p

注意:在linux中,命令执行成功是不显示信息的,执行失败会有信息

2.4.7相对和绝对路径

绝对路径:

  • 就是完整路径
  • 从根的目录下开始写

相对路径:

  • 不是完整的路径
  • 从当前位置开始写

例如:当前我们的工作目录是 /etc/sysconfig

案例1:切换到根下

相对路径写法:cd ../../
绝对路径写法:cd /

案例2:切换到home下

相对路径写法:cd ../../home
绝对路径写法:cd /home

案例3:切换到etc下

相对路径写法:cd ../
绝对路径写法:cd /etc

案例4:切换到sysconfig下面的network-scripts目录

相对路径写法:cd network-scripts
相对路径写法:cd ./network-scripts
绝对路径写法:cd /etc/sysconfig/network-scripts

 2.4.8 cp

  • 全称:copy
  • 作用:复制文件或者是目录
  • 格式:
 cp [选项] 源文件 目的路径

选项

  • -a:在复制文件的过程中,保持文件的属性不变,另外,也可以实现复制目录【cp默认无法直 接复制目录】
  • -r:递归复制。这个选项就是单纯的用来实现复制目录。

总结案例【一般文件】

将tmp下的a.txt复制到home下
cp -a /tmp/a.txt /home/
将tmp下的a.txt复制到home下,名字改为b.txt
cp -a /tmp/a.txt /home/b.txt
将tmp下的a.txt复制到/etc/sysconfig下
cp -a /tmp/a.txt /etc/sysconfig
将tmp下的a.txt复制到当前位置
cp -a /tmp/a.txt ./
将tmp下的a.txt复制到当前位置,名字改为qq.txt
cp -a /tmp/a.txt ./qq.txt
将tmp下的a.txt复制到根下
cp -a /tmp/a.txt /
将tmp下的a.txt复制到根下,名字改为qq.txt
cp -a /tmp/a.txt /qq.txt
将当前位置下的a.txt复制到home下
cp -a a.txt /home
将当前位置下的a.txt复制到根下
cp -a a.txt /
将当前位置下的a.txt复制到上一级目录下
cp -a a.txt ../
将当前位置下的a.txt 复制到当前位置改名为b.txt
cp -a a.txt b.txt
总结案例[目录文件]
将tmp下的目录a001复制到个根下
cp -a /tmp/a001 /

 扩展:

./ 也可以表示当前位置
[ ] 表示里面的内容是可选【可选的意思就是说,可以选,也可以不选】
< > 表示里面的内容是必选【必选的意思就是说,里面的内容必须得有】

2.4.9 mv 

  • 全称:
  • move 作用:移动文件或者是目录
  • 格式:
mv 源文件 目的路径

总结:

将home下的a.txt移动到tmp下
mv /home/a.txt /tmp
将home下的a.txt移动到tmp下,改名成b.txt
mv /home/a.txt /tmp/b.txt
将home下的a.txt移动到根
mv /home/a.txt /
将home下的a.txt移动到根下,改名成b.txt
mv /home/a.txt /b.txt
将home下的a.txt移动到当前位置下
mv /home/a.txt ./
将home下的a.txt移动到当前位置下,改名成b.txt
mv /home/a.txt ./b.txt
将当前位置下的a.txt 移动到home下
mv ./a.txt /home
mv a.txt /home
将当前位置下的a.txt 移动到home下,改名成b.txt
mv ./a.txt /home/b.txt
mv a.txt /home/b.txt
将当前位置下的a.txt 移动到 当前位置下,改名成b.txt [文件改名]
mv a.txt b.txt
mv ./a.txt ./b.txt

思考问题:下面命令的执行效果

mv /home/a.txt /aaa

这个命令有三种可能

  • 第一种:/aaa不存在的,那么这个命令就是将a.txt移动到根下,并且名字修改为aaa
  • 第二种:/aaa存在,而且是目录,那么这个命令就是将 a.txt 移动到 /aaa下面,文件名不变
  • 第三种:/aaa存在,而且是一般文件,那么这个命令就是将 a.txt 移动到 /下,并且改名成 aaa 将原有文件覆盖

2.4.10 rm

  •  全称:ReMove
  • 作用:删除文件或者是目录的
  • 格式:
rm -rf 要删除的文件或者目录

选项

-r:这个选项是专用于删除目录【在删除文件的时候,也可以加这个选项】

-f:这个选项是强制删除【删除过程不会进行询问】

 总结1:

删除tmp下的a.txt
rm -rf /tmp/a.txt
删除根下的a.txt
rm -rf /a.txt
删除当前位置下的a.txt
rm -rf a.txt
rm -rf ./a.txt

2.4.11 通配符

 通配符就是一些具有特殊的含义的符号

*:表示任意个任意字符
?: 表示任意一个字符
|:前后可以分别写一个命令,通过管道符,可以见前面命令的执行结果传递给后面的命令,让后面的
命令再处理一次

例如:表示以a为开头的文件名 

a*
可以匹配:
aaaaaaa
a11112312341234
a
不能匹配:
caaasdfasfdasdfasf

例如:表示以a为结尾的文件名

*a
可以匹配
asdfasdfasdfa
w4dsgfdsgdfgaaasdasfda
a
aa
不能匹配
aaaax

例如:表示文件名包含a

*a*
可以匹配
222afsf
a

1)删除所有文件

rm -rf *

2)删除所有文件名以a为开头的文件

rm -rf a*

3)删除所有文件名以a为结尾的文件

 rm -rf *a

 2.4.12 ls

  • 作用:查看当前位置或者是指定的位置下,有什么文件
  • 格式:
格式1:ls # 查看当前位置下文件
格式2:ls ./ # 查看当前位置下文件
格式3:ls 路径 # 查看指定的路径下有什么文件

选项

  • -a 显示所有文件,包括隐藏文件【linux中的隐藏文件是文件名前面是一个 . 】
  • -l 显示文件的属性信息
  • -h 以人类易读的方式显示文件的大小

 案例1:查看根目录下的全部的文件

ls /

案例2:查看home下的全部文件

 ls /home

案例3:查看当前位置下的全部文件

ls
ls ./

案例4:创建一个隐藏文件,然后尝试用ls查看这个文件

touch .a.txt
ls -a

案例5:查看home下的全部文件,包括隐藏文件

ls -a /home

案例6:查看当前位置下的文件的属性

 ls -l

案例7:查看home下的文件的属性

 ls -l /home

案例8:查看当前位置下所有文件的属性,包括隐藏文件

ls -l -a
ls -la
ls -al

案例9:查看home下的文件的属性,包括隐藏文件

ls -a -l /home
ls -al /home
ls -la /home

关于文件类型

  • linux中有多种文件类型 目录[d]:文件夹
  • 一般文件[-]:文档,例如doc、txt
  • 设备文件[b 或者 c]:指的是计算机中的外部设备,例如硬盘、u盘、键盘、鼠标
  • 链接文件[l]:快捷方式
  • ...

 2.4.13 cat

  • 作用:查看文本文件的内容【可以将多个文件的内容一块显示出来】
  • 格式:
cat 文件名 [文件名]

案例:将/etc/passwd 文件复制到home下,然后用cat查看文件中的内容

[root@localhost ~]# cp /etc/passwd /home/
[root@localhost ~]# cat /home/passwd

注意:用cat只能查看一般文件的内容,不能查看目录

2.4.14 more

  • 作用:查看文件的内容【比较适合查看大文件】
  • 格式:
more 文件名

more的操作

  • 敲回车:显示下一行
  • f:显示下一屏
  • 敲空格:显示下一屏
  • b:显示上一屏
  • q:退出查看

2.4.15 less

  • 作用:查看文件的内容【比较适合查看大文件】
  • 格式:
less 文件名

less的操作

  • 敲回车:显示下一行
  • f:显示下一屏
  • 敲空格:显示下一屏
  • b:显示上一屏
  • q:退出查看

2.4.16 head

  • 作用:查看文件的内容【默认是看文件的前10行】
  • 格式:
head -N 文件名

案例1:查看文件/etc/passwd的前10行

格式1:
head /etc/passwd
格式2:
head -n10 /etc/passwd

2.4.17 tail

  • 作用:查看文件的内容【默认是看文件的最后10行】
  • 选项
-f: 动态监控文件内容变化,常用于监控日志文件变化
  • 格式
tail -N 文件名

案例1:查看文件/etc/passwd的最后10行

格式1:
tail /etc/passwd
格式2:
tail -n10 /etc/passwd

2.4.18 wc

  • 作用:统计文件中有多少行、单词、字符
  • 格式:
wc [选项] 文件

选项

-w 统计单词

-c 统计字符

-l 统计行

 统计passwd有多少行

cat passwd | wc -l
wc -l passwd

案例:计算etc下有多少个文件

 ls -l /etc | wc -l

2.4.19 vi

作用:创建或者是编辑一个文本文件

格式:

vi 文件名
vi 路径/文件名

1)如果这个文件是存在的,而且是文本文件,那么vi就会直接打开这个文件

2)如果这个文件是存在的,而且是目录文件,那么vi也可以打开这个文件,但是无法正常的保存

3)这个文件不存在 ,vi会自动的创建一个新的空文件

注意:

  • cat、head、tail、more、less 和vi 都可以查看文件中的内容
  • 但是vi,主要是用于对文件内容进行修改
  • 而其他的命令是查看文件的内容

 案例1:复制文件 /etc/init.d/functions 复制到home下,然后用vi打开看看这个文件的内容

cp /etc/init.d/functions /home/
vi /home/functions

vi打开后,退出的方法

先按键盘的 ESC 键
然后 按 shift 和 : 两个键【一块按】
最后在左下角的冒号后面输入 q! ,然后敲回车

vi是一个模式化的工具

模式1:查看模式

功能:1. 查看文件的内容

           2. 在文件中,搜索指定的内容

           3. 复制行或者是删除行

表现:进入到输入模式的时候,在屏幕的最下角没有任何内容

模式2:输入模式 功能:1. 可以在文件中进写入或者修改操作表现

进入到输入模式的时候,在屏幕的最下角出现 INSERT 字样

模式3:末行模式

功能:1. 主要是用于执行各种的命令

           2. 显示行号

           3. 保存、退出

           4. 行跳转

表现:在屏幕的左下角出现 冒号和一个闪烁的光标

 查看模式 ===> 输入模式

1. A a   2. I i    3. O o

 输入模式 ===> 查看模式

1. ESC

 查看模式 ===> 末行模式

1. shift + :

末行模式 ===> 查看模式

1. ESC

输入模式和末行模式之间,无法进行直接切换

 vi应用

查看模式下的操作

  • nG:跳转到第n行
  • dd:删除光标所在的行【剪切】
  • yy:复制光标所在的行
  • p - 小:将剪切/复制的内容,粘贴到当前所在的行的下一行
  • P - 大:将剪切/复制的内容,粘贴到当前所在的行的上一行
  • u:撤销操作 /要搜索的内容:在/后面输入要搜索的内容,就可以直接开始搜索了,
  • n:继续向下搜索 N:继续向上搜索

按 dd 删除一行

按 4dd 删除连续的四行

按 yy 复制一行

按 15yy 复制连续的十五行

 输入模式下的操作:

  • 输入模式下没有操作

末行模式下的操作:

  • set nu:在每一行的前面,显示一个行号
  • set nonu:取消每行前面的行号
  • nohl:取消高亮
  • w:保存
  • q:退出
  • !:强制执行

组合:

wq 保存退出

wq! 强制保存退出

q 退出

q! 强制退出【不对输入的内容进行保存,而强制退出】 - 不保存强制退出

2.4.20 date

计算机有俩个时间

硬件时间:硬件 - 震荡电路 - hwclock

软件时间:是在计算机开机的时候,读取震荡电路的时间 - date

 date的用法

用法1:查看时间

 date

用法2:修改时间

date [MMDDhhmm[cc]YY][.ss]]

用法3:查看时间的一部分内容 
date+%F

案例:创建一个txt文件,文件名是当前系统时间

touch  `date +%T` .txt

 2.4.21 echo

作用:输出一个内容

格式:echo

控制输出结果的显示样式

必须加上选项-e

设置控制对象的范围:

开头:\033[xxm,这里xx的值是不同的

  • 31m:设置为红色
  • 32m:设置为绿色
  • 34m:设置为蓝色
  • 5m:设置字体闪烁 

结尾:\033[0m

 相关选项

-e:控制字符,作用是让后面的特殊字符生效

  • \t:水平制表符
  • \v:垂直制表符
  • \n:换行符

-n:设置输出这行的内容后,不换行

2.4.22 bc

linux的计算题

[root@localhost ~]# echo “5+3”  |  bc

8

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值