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 + # 提示输入指定字符后,重复显示该字符#次

浙公网安备 33010602011771号