目录
一、Linux基本命令
1.1 mkdir--创建新的文件夹
1.2 cd--进入文件/文件夹
1.3 pwd--查看当前所在的路径
1.4 ip add--查看ip地址
1.5 cat + file
1.6 man + 命令
1.7 history--查看历史命令
1.8 yum install 软件 - y
1.9 rm -rf + 文件
1.10 ls--查看当前文件夹的内容
1.11 date 命令--查看当前的时间
1.12 touch命令--创建空的文件
1.13 alias 给用户起别名
1.14 wc 命令
1.15 ln 命令
1.16 管道符号 : |
1.17 read 命令
1.18 du 命令
1.19 文件权限
1.20 通配符
1.21 source 和 bash 的区别
1.22 在Linux系统里面查看python里的关键字
1.23 export命令
1.24 chmod命令:授予脚本权限
1.25 vim文本编辑器
1.26 相对路径和绝对路径
1.27 学习的第一个shell脚本
二、Linux系统组成
三、Shell解释器
3.1 Shell解释命令图解
3.2 shell解释过程
mkdir + -p 当父目录不存在的时候,自动帮忙新建,如果存在就不报错。
文件类型:
以 - 开头的是普通文件
以 d 开头的是文件夹
以 l 开头的是链接文件
cd .. 返回上一级目录。
直接输入 cd 会返回家目录,普通用户的家目录在home里。 root用户的家目录在root里面
你现在在哪个文件夹里哪个就是你的当前路径
[root@localhost /]# ip add
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:92:35:e8 brd ff:ff:ff:ff:ff:ff
inet 192.168.44.128/24 brd 192.168.44.255 scope global noprefixroute dynamic ens33
其中 192.168.44.128为ip地址,后面的/24是掩码。
查看文件的内容
查看此命令的使用手册 (查看使用手册完毕后按q退出)。
使用history后 ! + 数字 : 执行第多少行命令
安装某个软件 -y代表同意安装,
yum是Linux里面的软件管理的工具,会自动上网去查找软件
install 是告诉yum进行安装的操作。
删除rm remove 是命令 删除。
-rf 是选项 可供选择地项目,可以接,可以不接,但是加了有奇效。
作用;强制删除,不给提醒。
-r :递归删除,一层一层的去删除当前目录下的文件。
rm -rf * 删除当前目录下所有的文件和文件夹,但是不会删除以.和..开头的隐藏文件
ls命令
ls :显示文件夹的内容
ls -a ; 显示所有内容,包括以 . 和 .. 开头的隐藏文件
ls -A : 显示所有内容,但是不显示以 . 和 .. 开头的文件
ls - l 显示详细信息
ls -d 只显示当前文件夹
ls -h : -h, --human-readable 人能识别的·大小格式。
ll -h = ls -l -h
只能看文件大小,不能看文件夹大小。
[root@localhost /]# date
2022年 9月 4日 星期日 22:56:19 CST
里面什么都没有的文件,相当于windows里新建一个文本文档文件。)如果文件已经存在,则会更新文件的创建时间。
相当于快捷键。
别名不能和原来linux系统里的命令冲突,如果冲突会导致原来的命令不能使用
alias lk='ls -l -a --color=auto' 临时定义lk是ls -l -a --color=auto的别名
alias mkdir='ls' 故意定义mkdir是ls的别名
unalias mkdir 取消定义的别名mkdir
永久定义别名
vim /root/.bashrc 进入root下面的.bashrc文件
1.按i进入输入模式,开始输入内容 insert
2.输入内容
3.按ESC键,离开输入模式 escape 离开,逃离
4.输入:wq 退出并且保存 write quit
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias lk='ls -a -l -h --color=auto'
alias c='clear'
alias mk='mkdir -p'
wc + 选项 + 目录 (wc命令 后面一般要接文件)
wc 是一个统计命令
统计行,单词,字节
wc - print newline, word, and byte counts for each file
-w, --words
print the word counts
-l, --lines
print the newline counts
ln是创建链接文件的命令
[root@localhost china]# mkdir hunan
[root@localhost china]# ls
hubei hunan
[root@localhost china]# ln -s hunan xiang
[root@localhost china]# ls
hubei hunan xiang
[root@localhost china]# ll
总用量 0
drwxr-xr-x. 4 root root 35 2月 20 16:30 hubei
drwxr-xr-x. 2 root root 6 2月 24 19:37 hunan
lrwxrwxrwx. 1 root root 5 2月 24 19:37 xiang -> hunan
ln -s hunan xiang (创建链接文件xiang指向hunan)
其中hunan为源文件,xiang为链接文件
-s 创建符号链接(软链接)--》相当于windows里的快捷方式
lrwxrwxrwx. 1 root root 5 2月 24 19:37 xiang -> hunan
将前面命令的输出送给后面的命令作为输入,
管道是实现进程与进程之间通信的。
[root@localhost china_voice]# ls -a
. .. hunantv jiangxitv zhejiangtv
[root@localhost china_voice]# ls -a|wc -w
5
接受用户的输入然后赋值给变量
[root@localhost china_voice]# read -p "请输入文件名前缀: " name
请输入文件名前缀: zeng
[root@localhost china_voice]# echo $name
zeng
du 统计文件或者文件夹的大小
-s, --summarize 汇总
display only a total for each argument
-h, --human-readable 人类能识别的大小格式
print sizes in human readable format (e.g., 1K 234M 2G)
Summarize disk usage of each FILE, recursively for directories.
[root@localhost /]# du -sh /boot
105M /boot
drwxr-xr-x. 3 root root 20 11月 13 20:45 changsha
drwxr-xr-x d代表是文件夹 三段分别代表 user group others
rwxr-xr-x 代表权限 r read 读 w write 写 x execute 执行(可以理解为运行里面的文件。)
子主题 3
user--》u
group -->g
others -->o
all -->a
授予权限用 +
去除权限用 -
chmod a+x output.sh --给所有用户授予可执行权限
chmod g+x output.sh -- 给group 成员授予可执行权限
chmod o+x output.sh - - 给 other授予 可执行文件
通配符 : 通通匹配 --》相当于红中
* :可以表示任意个字符
rm -rf * : 删除当前目录下的所有东西
但是不会删除隐藏的文件或者文件夹
? : 只能表示一个字符。
source /root/.bashrc 在当前bash进程里执行脚本 --》在父进程里运行。
bash /root/.bashrc 产生一个子进程bash去执行脚本 --》子进程里运行。
1.输入 python进入python环境
2. import keyword 导入keyword库
3. keyword.kwlist 输出
4.输入 exit()函数退出python环境
[root@localhost /]# python3.6
Python 3.6.8 (default, Nov 16 2022, 16:55:22)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>>
export sg mn 输出sg和mn变量为全局变量
chmod +x output.sh 授予可执行权限
chmod -x output.sh 去除可执行权限
vim是Linux系统里的记事本程序
vim + 文件名 新建文本
进入文本文件后
1.按 i 进入输入模式
2.可以输入中文或者英文
3.退出按 esc 键 然后输入 : wq (不可大写)
vi是是Linux系统里的记事本程序。
可以使用上下左右方向键移动,可以使用退格键。
绝对路径
绝对不会搞错的路径,从/开始,一层一层往下走。
不考虑当前的位置,跟你在哪里没有关系。
相对路径
:以当前目录为参照物,可进可退。
不是以/开头的路径都是相对路径。
哪个方便就使用哪个,不一定全部要使用相对或者绝对。
1.创建一个output.sh 文本
[root@localhost /]# sg="zkj"
[root@localhost /]# mn="cc"
#!/bin/bash
echo $sg
echo $mn
city='changsha'
echo "$city is a good place"
export sg mn 输出sg和mn变量为全局变量
bash output.sh 执行脚本文件
运行结果:
zkj
cc
changsha is a good place
1.硬件
2.内核
3.系统调用
4.shell
5.库函数
token是不可分割的最小单位。