shell
############# shell是什么
-Bash Shell是一个命令解释器(python解释器),它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕
-没有图形化界面了
-远程链接工具,链接上,就打开了一个shell窗口,可以输入命令
-进入和退出
bash
exit
#############shell 能干什么
使用Shell实现对Linux系统的大部分管理,例如:
1.文件管理(文件创建,移动,复制,删除,编辑…)
2.权限管理(不同用户不通权限)
3.用户管理(创建,删除….)
4.磁盘管理(挂载)
5.网络管理
6.软件管理
原来win上通过 点点点 完成的操作,现在都用bash命令来操作
#############shell 如何使用
1 直接输入命令 –> 效率低 –>适合少量的工作
ls
pwd
2 Shell Script(shell 脚本) –> 效率高–>适合复杂重复性的工作
-django项目部署:
uwsgi -x xx.xml
celery work,beat
-vi test.sh
for i in {1..100}
do
echo "create test$i"
done
-方式一:chmod +x test.sh #加入执行权限
./test.sh # 可以执行
-方式二:
bash test.sh
################shell提示符
### 1 [root@Ma ~]#
root:用户
@:没有含义
Ma:主机名
~:路径,用户家路径,root用户家路径是 /root
#:超级用户
$:普通用户
### 2 主机名
hostname # 查看主机名
### 2 主机名
hostname # 查看主机名
### 3 创建用户(先听)
useradd xm # 在/home 路径下创建一个根用户同名的文件夹--->这个用户家路径
passwd xm # 给用户设置密码
#使用lqz登录 ---》final-shell重新使用lqz链接
# root用户链接了,切换成lqz用户
su 用户名 # 要不要输入密码,取决于你是谁
### 4 whoami
看我是谁
shell基础语法
# 格式
#命令 选项 参数
command [-options] [arguments]
# 以ls命令为例
ls -a
ls --all
ls -al # 等同于 ls -l 等同于 ll
ls -al /home
# 必须以命令开头,选择和参数,可以有,也可以没有
shell补全
# 敲了命令,按tab,如果有多种选择,都会列出来,如果没有了,只有这一个,直接补齐
# 查看本机ip
ip addr
# 使用 ifconfig:找不到,外部命令,第三方软件支持
win:ipconfig
yum install net-tools -y
ifconfig # 查看ip了
# 问题:
-刚刚不能上网了----》dns有问题---》解决:加了个dns2
-把yum源改成了阿里云的源----》
cd /etc/yum.repos.d
# 下载Centos-7.repo 放在这个路径下即可
wget http://mirrors.aliyun.com/repo/Centos-7.repo
# yum clean all
# yum makecache
shell命令快捷键
Ctrl + a #光标跳转至正在输入的命令行的首部
Ctrl + e #光标跳转至正在输入的命令行的尾部
Ctrl + c #终止前台运行的程序
Ctrl + z #将任务暂停,挂至后台
Ctrl + l #清屏,和clear命令等效。
Ctrl + k #删除从光标到行末的所有字符
Ctrl + u #删除从光标到行首的所有字符
Ctrl + r #搜索历史命令, 利用关键字,Tab建选中
Ctrl + w #按单词或空格进行向前删除
Ctrl + 左右建 #按单词或空格进行向前向后跳
#在命令行前加面加 "#" 则该命令不会被执行
命令history
# history 可以查看命令历史
# 使用上下键可以快速选择之前执行过的命令
# !! 执行上一条命令
# !数字 执行history历史中第 数字 行的命令
# !yum 最近一次的yum命令
# history -d 100 删除第100条历史记录
# history -c 清空记录(保存到文件中的还有)
# history -w 保存历史集合,保存到当前用户的家目录 .bash_history
# > .bash_history 清空文件的保存(操作完,不让别人看你执行的命令)
命令别名
# 设置别名
alias xx='ls -al' # 以后敲xx等同于ls -al
alias lqz='ifconfig'
#取消别名
unalias lqz
# 上述操作只在当前会话生效,永久生效
echo "alias lqz=ls -al" >> /etc/bashrc # 所有人都生效
echo "alias lqz=ls -al" >> /root/bashrc #只针对于root
shell获取帮助
# 命令 --help 提示你怎么用
# man ls
q退出
空格翻页,上下键翻页
内部命令,什么是外部命令
# 内部命令
linux内置的命令 ls pwd
# 外部命令 --第三方软件支持的
ifconfig
# type -a pwd 查看是内部还是外部
# yum provides ifconfig
# 查看环境变量---》任意路径敲命令,都能找到,命令在环境变量中
echo $PATH #用 : 分割
# 外部命令,一般都在 :/usr/sbin/
外置命令内存缓存
如果是外置命令还会涉及到一个内存缓存,也就是说,当我们出现重复执行相同的命令,会通过缓存调取执行,也就意味着不会搜索PATH路径