Linux基础入门

1、用户类型,提示符

root  #
普通用户  $

 

2、终端

tty命令可以查看当前所在终端

#tty

#/dev/pts/0

3、shell

显示当前使用的shell

echo $SHELL

显示当前系统使用的所有的shell

cat /etc/shells

4、设置主机名

hostname  NAME

范例
#hostname  CentOS8-201

5、显示提示符格式

#echo  $PS1
\[\e[1;35m\][\u@\h \W]\$\[\e[0m\]

修改提示符格式范例

PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"

 持久保存提示符

[root@centos8 ~]# echo 'PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' > /etc/profile.d/env.sh

6、shell中的可执行命令

区别指定的命令是内部或外部命令
type COMMAND
enable 管理内部命令
enable cmd    启用内部命令
enable -n cmd    禁用内部命令
enable -n    查看所有禁用的内部命令

内部命令:由shell自带的,而且通过某命令形式提供

外部命令:在文件系统路径下有对应的可执行程序文件

[13:24:54 root@RedHat8 ~]#which hostname
/usr/bin/hostname

7、hash缓存表

系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的
路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不
存在,将会去PATH路径下寻找,利用hash缓存表可大大提高命令的调用速率
hash 命令常见用法
hash 显示hash缓存
hash -l 显示hash缓存,可作为输入使用
hash -p path name 将命令全路径path起别名为name
hash -t name 打印缓存中name的路径
hash -d name 清除name缓存
type COMMAND

8、别名

alias NAME='VALUE'

撤销别名

unalias

unalias name
unalias -a #取消所有别名

永久生效的定义方式

仅对当前用户生效:~/.bashrc
对所有用户生效:/etc/bashrc
重新加载配置文件:
source /path
./path
如果别名与原命令相同,要执行原命令
\aliasname
"aliasname"
'aliasname'
/path/command    #只适用于外部命令

9、常见命令系统查询命令

查看cpu
lscpu
cat /proc/cpuinfo

查看内存
free -h

查看硬件和分区情况
lsblk

查看内核版本
uname -r

查看操作系统版本
cat /etc/redhat-release
cat /etc/os-release
lsb_release -a

 10、日期和时间

date  显示和设置系统时间

date +%F    显示时间
date -d @18908980    以秒转换时间
date [MMDDhhmm[[CC]YY][.ss]]    设置时间
clock,hwclock:显示硬件时钟
    -s    以硬件时钟为准,校正系统时钟
    -w    以系统时间为准,校正硬件时钟
时区
ll /etc/localtime
设置时区
#timedatectl set-timezone Asia/Shanghai
显示日历
#cal
#cal 9 1752

11、关机和重启

关机
  halt  
  poweroff
重启
  reboot
shutdown
  -r  重启
  -h  关机
    now:立即
    +5:5分钟后
    hh:mm:绝对时间,具体是时间

12、用户登录信息

whoami:显示当前登录有效用户
who:系统当前所有的登录会话
w:系统当前所有的登录会话及所做操作

13、会话管理screen和tmux

yum install screen
screen -S [session]:创建新screen会话
screen -x [session]:加入screen会话
screen -ls:显示所有已经打开的screen会话
screen -r [session]:恢复screen会话

14、输出信息

echo "$VAR_NAME”  #变量会替换,弱引用
echo '$VAR_NAME’  #变量不会替换,强引用
启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\e escape,相当于\033
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
\t 插入tab
\ 插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
\xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)

 15、命令扩展

把一个命令的输出打印给另一个命令的参数
$(cmd)或`cmd`(反引号)

{}可以实现打印重复字符串的简化形式
echo file{1,2,3}==>file1,file2,file3

16、tab键补全

 命令补全,路径补全,

17、命令历史history

history
    -c    清空命令历史
    -d offset    删除历史中指定的第offset个命令
    n    显示最近n条历史

命令历史相关环境变量
HISTSIZE:命令历史记录的条数
HISTFILE:指定历史文件,默认为~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数
HISTTIMEFORMAT="%F %T `whoami`" 显示时间和用户
HISTIGNORE="str1:str2*:…" 忽略str1命令,str2开头的历史
HISTCONTROL:控制命令历史的记录方式
ignoredups 是默认值,可忽略重复的命令,连续且相同为“重复”
ignorespace 忽略所有以空白开头的命令
ignoreboth 相当于ignoredups, ignorespace的组合
erasedups 删除重复命令
持久保存变量
以上变量可以 export 变量名="" 形式存放在 /etc/profile 或 ~/.bash_profile

18、bash快捷键

Ctrl + l  清屏,相当于clear命令
Ctrl + o 执行当前命令,并重新显示本命令
Ctrl + s 阻止屏幕输出,锁定
Ctrl + q 允许屏幕输出
Ctrl + c 终止命令
Ctrl + z 挂起命令
Ctrl + a 光标移到命令行首,相当于Home
Ctrl + e 光标移到命令行尾,相当于End
Ctrl + f  光标向右移动一个字符
Ctrl + b 光标向左移动一个字符
Alt + f 光标向右移动一个单词尾
Alt + b 光标向左移动一个单词首
Ctrl + xx 光标在命令行首和光标之间移动
Ctrl + u 从光标处删除至命令行首
Ctrl + k 从光标处删除至命令行尾
Alt + r 删除当前整行
Ctrl + w 从光标处向左删除至单词首
!:0 执行前一条命令(去除参数)
!n 执行history命令输出对应序号n的命令
!-n 执行history历史中倒数第n个命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!string:p 仅打印命令历史,而不执行
!$:p 打印输出 !$ (上一条命令的最后一个参数)的内容
!*:p 打印输出 !*(上一条命令的所有参数)的内容
^string 删除上一条命令中的第一个string
^string1^string2 将上一条命令中的第一个string1替换为string2
!:gs/string1/string2 将上一条命令中所有的string1都替换为 string2
使用up(向上)和down(向下)键来上下浏览从前输入的命令
ctrl-r来在命令历史中搜索命令
(reverse-i-search)`’:
Ctrl+g:从历史搜索模式退出
#要重新调用前一个命令中最后一个参数
!$ 表示
Esc, .  点击Esc键后松开,然后点击 . 键
Alt+ .  按住Alt键的同时点击 . 键
command !^  利用上一个命令的第一个参数做cmd的参数
command !$  利用上一个命令的最后一个参数做cmd的参数
command !*  利用上一个命令的全部参数做cmd的参数
command !:n 利用上一个命令的第n个参数做cmd的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m 调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数
command !string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数
command !string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
command !string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
command !string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数
Alt + d 从光标处向右删除至单词尾
Ctrl + d 删除光标处的一个字符
Ctrl + h 删除光标前的一个字符
Ctrl + y 将删除的字符粘贴至光标后
Alt + c 从光标处开始向右更改为首字母大写的单词
Alt + u 从光标处开始,将右边一个单词更改为大写
Alt + l 从光标处开始,将右边一个单词更改为小写
Ctrl + t  交换光标处和之前的字符位置
Alt + t 交换光标处和之前的单词位置
Alt + # 提示输入指定字符后,重复显示该字符#次

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-05-25 10:03  duanpeng123  阅读(82)  评论(0)    收藏  举报