?
day 2
day2_1(基础、终端、$PS1、启动禁用内部命令)
一:基础
1、gedit /etc/gdm/custom.conf # 修改配置文件,让系统开机自动登录root用户
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=root
2、gedit /etc/sysconfig/network-scripts/ifcfg=ens33 # 修改文件,让系统开机自动启用网卡
ONBOOT=yes
3、reboot:重启
4、nano:字符界面编辑文件
ctrl+x:退出
5、cat:查看文件内容
6、终端:
①设备终端:键盘鼠标
②物理终端:控制台
③虚拟终端:tty:teletypewriters
④图形终端
⑤串行终端
⑥伪终端:ssh的远程连接
(1)、查看当前终端:tty
(2)、who:查看当前登录的用户、
(3)、whami:显示当前用户身份,详细查看 who * *
(4)、w:显示出谁在登录,谁在做什么事
?
7、切换模式 init n(0-6)
runleve:查看当前运行模式
startx:开启图形界面
使用ctrl + c 关闭startx
8、chvt n:切换终端
9、交互式接口
(1)、GUI:Graphic User Interface
desktop:
GNOME
KDE
XFCE
(2)、CLI:Command Line interface
shell程序:讲输入的命令转换为计算机可识别的二进制
sh:(bourn 史蒂夫·伯恩)
csh、tcsh、ksh(korn)、bash(bourn again shell)GPL、zsh
10、echo $SHELL:输出当前shell
查看shell:cat /etc/shells
切换shell:直接输入shell的路径
11、$pas1:终端提示符
(1)修改终端提示符:
①:PS1 = "格式"
②:在/etc/profile.d/ 下边添加一个shell文件,以.sh结尾,内容为PS1="格式"
(2)添加颜色:
PS1 =“ [e[1;36m][[email?protected]h W]$[e[0m]“
e 33
u 当前用户
h 主机名简称
H 主机名
w 当前工作目录
W 当前工作目录基名
t 24小时时间格式
T 12小时时间格式
!! 历史命令数
# 开机后命令历史数
二、命令
1、内部命令:bash集成一些命令,在用户登录时,就启用了bash,这些命令加载到了内存,这些就是内部命令;
①:enable:查看内部命令
enable -n COMMAND:禁用内部命令
enable COMMAND:启用
②:type:查看命令是内部命令还是外部命令
③:echo $PATH:输出环境变量
④:hash:
hash -l:显示hash缓存,可作为输出使用
hash -p:可以起别名;hash -p /usr/bin/yes no
hash -d name:清除name缓存
hash -r:清除缓存
⑤which COMMAND:查看外部命令的路径
which -a COMMAND:显示所有文件夹下COMMAND的路径
which --skip-alias COMMAND:只显示文件位置
day2_2(查看命令的路径、别名、时间、关机、语言、会话、echo)
1、whereis:查看外部命令的路径
2、alias:别名:别名的优先级比内部命令还要高
slias 别名="命令"
alias:查看所有别名
修改:~/.bashrc:文件可以修改用户登录时的命令
使用本来的命令:
①‘COMMAND‘
②"COMMAND"
③COMMAND
④command COMMAND
unalias:取消别名
unalias -a:取消所有别名
3、快捷方式
①多个命令何在一起,使用;进行分割
②使用ctrl+c 或 ctrl+d结束命令
③使用行尾‘‘可以使两行命令连接在一起,使用时注意空格
4、时间
(1)、Linux的两种时钟
①系统时钟:内核的时间
②硬件时钟:主板
(2)、date:查看内核时间
①date 月日小时分年秒:修改时间;date 031010302019
②date +%s:显示从1970-01-01 到现在过了多少秒
1970-01-01是unix的诞生日
③date -d @时间戳;将时间戳转换为当前系统时间格式
④/etc/localtime:记录了时区
⑤timedatectl:在centos7中存在
timedatectl list-timezones:查看所有时区
timedatectl status:查看当前系统时区
timedatectl set-timezone 时区:修改当前时区
⑤date -d:date -d "-1 day" +%F :显示昨天的日期
⑥date -s:date -s "-1 day" 设置时间为昨天的时间
(3)、clock:查看硬件时间
clock -s:以硬件时间为准
clock -w:以系统时间为准
(4)、同步服务器时间:ntpdate 服务器IP
(5)、cal:日历
cal:查看当前月日历
cal 2019:查看2019年的日历
cal 8 2008:查看2008年8月的日历
5、简单命令
(1)、关机或重启命令
halt
poweroff
reboot:重启
-f:强制
-p:切断电源
shutdown:
shutdown -r +1:1分钟后进行重启操作
shutdown -h 20:30:20:30进行关机操作
shutdown now:立即关机
shutdown -c:取消关机或重启
(2)、echo $LANG:输出当前的语言和编码
文件:
centos 6 /etc/sysconfig/i18n,可以修改其他语言
centos 7 /etc/locale.conf
(3)、wall:向所有登陆到这台系统的终端发送信息
6、screen会话同步
screen -S name:创建name会话
screen -ls:查看回话
screen -x name:加入name会话
screen 的退出:ctrl+a,d
screen -r:返回会话
7、echo:回显
echo -e:高级选项
n:换行
c:不换行
t:tab键
v:垂直tab键
a:发声音
r:回车
b:退格键
xxx插入(八进制)所代表的的ASCII字符;例:echo -e " 141"
echo -e ‘ 33[43;31;5mmagedu 33[0m‘ # 颜色
sHH插入HH(十六进制)所代表的ASCII字 例:echo -e "x61"
8、hexdump -C 文件
读出来的文件‘0a‘表示的ASCII码‘10‘的换行
9、bc:计算机
obase=2:二进制
10、开机提示
/etc/motd:这个文件里边可以写登录提示
_oo0oo_
088888880
88" . "88
(| -_- |)
0 = /0
__/‘ ‘__
.‘ \| |//// ‘.
/ \|||:|||////
/_ ||||| -:- ||||| _
| | \-///// | |
| _| ‘‘---/‘‘ |_/ |
.-__ ‘_‘ __/-. /
___‘. .‘ /--.-- ‘. .‘___
."" ‘< ‘.____<|>_/___.‘ >‘ "".
| | : ‘- ‘.;‘ _ /‘;.‘/ - ‘ : | |
‘_. _ __ /__ _/ ._‘ / /
=====‘-.____‘.________/___.-‘____.-‘=====
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
?
day2_3(tab、history、whatis帮助)
1、命令行扩展:$() 或 ``
"把一个命令的输出打印给另一个命令的参数"
cp `shich --skip-alias ls` /data 讲ls的文件路径移动到/dat a
2、tab:
①command 2Tab
②string 2Tab
③/2Tab
④./2Tab 当前目录的子目录,包括隐藏目录
⑤*2Tab:当前目录下的子目录,不包括隐藏文件
⑥~2Tab:显示所有用户
⑦$2Tab:所有变量
⑧@2Tab:/etc/hosts记录 CentOS7 不支持
⑨=2Tab 相当于ls -A CentOS7 不支持
3、history:记录最近的一千条
(1) echo $HISTORY:默认保存的条数
/etc/profile 中可以进行修改
命令历史记录在~/.bash_history
(2) ①! 5:执行
②! -5:执行倒数第五条
③执行上一条命令的4中方式:1、上键;2、!!;3、!-1;4、Ctrl+p
④!:0:将上一条命令去掉参数执行
⑤!str:执行最近一条以str开头的命令
⑥!?HIST:执行前边包含HIST的命令
⑦!$:p:执行上一条命令的最后一个参数;!*:p:执行上一条命令的所有参数
⑧^string:删除上一条命令的第一个string
⑨^string^string:将上一条命令的第一个string1 替换 为string2
⑩!:gs/string1/string2:将所有命令string1替换为string2
(3) Ctrl+r:搜索历史
Ctrl+g:退出搜索历史模式
(4)、选项
history -c:清除历史
history -d:520:删除编号为520的那条历史
history -a:将内存中的历史同步到文件
history -r:将磁盘的命令历史读入到内存
history -n:读取文件中未读取的行到内存中
history -p:执行的命令不记录到命令历史中
history -s:伪造命令历史
4、帮助
(1)、whatis 和 man -f 一样
①makewhatis:创建数据库;CentOS7中创建命令是:mandb
?
?
day2_4(man、登录提示、history变量、终端传文件)
?
一、man章节
1、用户命令
2、系统调用
3、C库调用
4、设备文件及特殊格式
5、配置文件格式
6、游戏
7、杂项
8、管理类命令
9、linux内核API
(1)、
man -a:显示所有命令帮助
man -k:搜索关键字
whatis 和 man -f 一样
man -w:显示帮助文件路径
二、
(1)、/etc/issue:修改登录前的提示
三、命令历史的环境变量
HISTSIZE:命令历史
HISTFILE:指定历史文件
HISTFILESIZE:命令历史文件记录历史条数
HISTTIMEFORMAT:"%F %T" 显示时间
HISTIGNORE:"str1:str2*"... 忽略str1命令,str2开头的历史
控制命名历史的记录方式
ignoredups:默认,忽略重复的命令,连续且相同的为"重复"
ignoerspace:忽略空白字符开头的命令
ignoerboth:ignoerdups和ignoerspace的组合
erasedups:删除重复命令
?
四、Openstack filetype:pdf
rhca site:redhat.com/docs
?
五、ctrl+s:锁屏
ctrl+q:解锁
?
六、rz:终端像linux传文件,直接执行即可
sz:将linux文件传送到Windows
sz linux文件;
安装
rpm -ivh ……/Packages/lrzsz
?
?
day2_5(目录结构、ldd、名字)?
一、文件的一级目录
bin:基本命令库
boot:静态文件和启动加载器相关的文件
dev:设备文件
etc:系统配置
lib:共享库
lib64:存放64位的共享库
media:挂在点
mnt:挂在点
opt:放应用程序
sbin:管理员用的程序
srv:放一些服务用的数据
tmp:临时数据
usr:第二个分层,最大的一个文件夹
var:可变数据
proc:存放了许多设备信息
sys:存放硬件相关信息,例如添加了一块硬盘,默认不显示,可以执行以下命令
echo "- - -" > /sys/class/scsi_host/host2/scan 即可看到硬盘
misc:普通用户挂在光盘可以进入 cd /misc/cd/ Centos 6 支持
二、
linux大小写是否敏感是根据文件系统决定的
ldd /bin/ls:查看ls调用的库文件
du -sh:查看目录下所有文件的大小的总和
pwd
-P:显示真实的物理路径
-L:显示链接路径(默认)
basename:当前目录 dirname: