美文网首页
linux基础知识

linux基础知识

作者: 尛尛大尹 | 来源:发表于2017-08-17 20:30 被阅读0次

2.命令提示符:prompt

[root@localhost ~]#
# 管理员 $ 普通用户

3.显示提示符格式

[root@localhost ~]#echo $PS1

修改提示符格式(30+字体颜色40+背景颜色)
PS1="[\e[31m][\u@\h \W]\$[\e[0m]"

\e \033 
\u 当前用户
\h 主机名简称 
\H 主机名
\w 当前工作目录 
\W 当前工作目录基名
\t 24小时时间格式 
\T 12小时时间格式
\! 命令历史数 
\# 开机后命令历史数

4.gedit图形界面编辑

(1)输入命令后回车
提请shell程序找到键入命令所对应的可执行程序或代码,
并由其分析后提交给内核分配资源将其运行起来
(2)在shell中可执行的命令有两类
内部命令:由shell自带的,而且通过某命令形式提供
help 内部命令列表

enable cmd 启用内部命令
enable –n cmd 禁用内部命令
enable –n 查看所有禁用的内部命令

外部命令:在文件系统路径下有对应的可执行程序文件
(3)查看路径:
# which -a |--skip-alias ; whereis

(4)区别指定的命令是内部或外部命令
type COMMAND

5.nano文本编辑

必须以.sh结尾

6.传输文件

安装lrzsz安装包


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缓存
hash –r 清除缓存

每个会话都有自己的hash表

8.命令别名

(1)显示当前shell进程所有可用的命令别名

# alias

(2)定义别名NAME,其相当于执行命令VALUE

# alias NAME='VALUE'

(3) 在命令行中定义的别名,仅对当前shell进程有效
(4)如果想永久有效,要定义在配置文件中

仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc

(5)编辑配置给出的新配置不会立即生效
bash进程重新读取配置文件

# source /path/to/config_file
# . /path/to/config_file(文件前面写上./)

(6) 撤消别名:unalias

# unalias [-a] name [name ...]
-a 取消所有别名

(7) 如果别名同原命令同名,如果要执行原命令,可使用**
“\COMMAND”
’COMMAND’
/PATH/COMMAND:外部命令

9.COMMAND [OPTIONS...] [ARGUMENTS...]

选项:用于启用或关闭命令的某个或某些功能
短选项:-c 例如:-l, -h
长选项:--word 例如:--all, --human-readable
参数:命令的作用对象,比如文件名,用户名等

  • 注意:
(1)多个选项以及多参数和命令之间使用空白字符分隔
(2)取消和结束命令执行:Ctrl+c,Ctrl+d
(3)多个命令可以用;符号分开
(4)一个命令可以用\分成多行

10.date 显示日期和时间

 Linux的两种时钟
系统时钟:由Linux内核通过CPU的工作频率进行的
硬件时钟:主板


hwclock,clock: 显示硬件时钟

-s, --hctosys 以硬件时钟为准,校正系统时钟
-w, --systohc 以系统时钟为准,校正硬件时钟
时区:/etc/localtime

eg:

# date +%Y/%m/%d 以"年/月/日"方式显示
# date +"%Y %m"
# date +%H:%M"
# date -d  "10 days ago" +%w显示十天前是星期几

11.cal 显示日历

# cal –y  显示本年的日历
# cal 显示本月日历
#cal [[mouth]   year]显示某年某月

13.简单命令

(1)关机:

halt, poweroff

(2)重启:reboot

-f: 强制,不调用shutdown
-p: 切断电源

(3)关机或重启:shutdown
shutdown [OPTION]... TIME [MESSAGE]

-r: reboot
-h: halt
-c:cancel
TIME:无指定,默认相当于 +1
now: 立刻,相当于+0
+m: 相对时间表示法,几分钟之后;例如 +3
hh:mm: 绝对时间表示,指明具体时间

14.screen命令:

screen防止拷贝文件的时候断网,在拷贝文件前直接敲screen
(1)创建新screen会话

# screen –S [SESSION]  **要链接到同一台机器同一台电脑**

(2)加入screen会话

# screen –x [SESSION]

(3)退出并关闭screen会话

# exit

(4)剥离当前screen会话(只有自己退出)

Ctrl+a,d

(5)显示所有已经打开的screen会话

# screen -ls

(6)恢复某screen会话

# screen -r [SESSION]
# screen -r

先安装screen(CentOS7)



15. echo命令

 功能:显示字符
 语法:echo [-neE][字符串]
 说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号

(1)选项:

 -E (默认)不支持 \ 解释功能
 -n 不自动换行
-e 启用 \ 字符的解释功能

(2)显示变量

echo "$VAR_NAME“ 变量会替换,弱引用
echo '$VAR_NAME‘ 变量不会替换,强引用

(3)启用命令选项-e,若字符串中出现以下字符,则特
别加以处理,而不会将它当成一般文字输出

\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
\t 插入tab
\\ 插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
echo -e '\033[43;31;5mmagedu\033[0m'
\xHH插入HH(十六进制)所代表的ASCII字

(4)命令行扩展:$( ) 或 ``
把一个命令的输出打印给另一个命令的参数
eg:

# echo "This system's name is $(hostname) "
    结果:This system's name is server1.example.com
# echo "i am `whoami` "
    结果:i am root

(5)括号扩展:{ }
打印重复字符串的简化形式

# echo file{1,3,5}
   结果: file1 file3 file5
# rm -f file{1,3,5}
# echo {1..10}
# echo {a..z}
# echo {000..20..2}

16.计算器

ibase=8算出结果为八进制


17.命令补全

内部命令:
外部命令:bash根据PATH环境变量定义的路径,自左而
右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令
用户给定的字符串只有一条惟一对应的命令,直接补全否则,再次Tab会给出列表
 路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录
下搜索以指定的字符串开头的文件名
如果惟一:则直接补全
否则:再次Tab给出列表

双击Tab键
 command 2Tab 所有子命令或文件补全
 string2Tab 以string开头命令
 /2Tab显示所有根目录下一级目录,包括隐藏目录
 ./2Tab当前目录下子目录,包括隐藏目录
 *2Tab 当前目录下子目录,不包括隐藏目录
 ~2Tab 所有用户列表
 $2Tab 所有变量
 @2Tab /etc/hosts**记录 (centos7不支持)
 =2Tab 相当于ls –A (centos7不支持)

18.命令行历史

作用:

(1) 保存你输入的命令历史。可以用它来重复执行命令
(2) 登录shell时,会读取命令历史文件中记录下的命令~/.bash_history
(3)登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中
(1)重复前一个命令,有4种方法
                   重复前一个命令使用上方向键,并回车执行
                   按 !! 并回车执行
                   输入 !-1 并回车执行
                   按 Ctrl+p 并回车执行
(2)  !:0 执行前一条命令(去除参数)
(3)  Ctrl + n 显示当前历史中的下一条命令,但不执行
(4)  Ctrl + j 执行当前命令
(5)  !n 执行history命令输出对应序号n的命令
(6)  !-n 执行history历史中倒数第n个命令
(7)  !string 重复前一个以“string”开头的命令
(8)  !?string 重复前一个包含string的命令
(9)  !string:p 仅打印命令历史,而不执行
(10) !$:p 打印输出 !$ (上一条命令的最后一个参数)的内容
(11) !*: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条命令的第一个参数
调用历史参数
!string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数
!string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
!string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
!string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数
 !n:$ 调用第n条命令的最后一个参数
 !n:m 调用第n条命令的第m个参数
 !n:* 调用第n条命令的所有参数



19.命令history

 history [-c] [-d offset] [n]
 history -anrw [filename]
 history -ps arg [arg...]
-c: 清空命令历史
-d offset: 删除历史中指定的第offset个命令
n: 显示最近的n条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-n: 读历史文件中未读过的行到历史列表
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-p: 展开历史参数成多行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后

20.命令历史相关环境变量

 HISTSIZE:命令历史记录的条数
 HISTFILE:指定历史文件,默认为~/.bash_history
 HISTFILESIZE:命令历史文件记录历史的条数
 HISTTIMEFORMAT=“%F %T “ 显示时间
 HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2开头的历史(之后的历史不计入)

 控制命令历史的记录方式:
环境变量:HISTCONTROL

ignoredups 默认,忽略重复的命令,连续且相同为“重复”
ignorespace 忽略所有以空白开头的命令
ignoreboth 相当于ignoredups, ignorespace的组合
erasedups 删除重复命令
 export 变量名="值“
 存放在 /etc/profile 或 ~/.bash_profile

21.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 从光标处向左删除至单词首
 Alt + d 从光标处向右删除至单词尾
 Ctrl + d 删除光标处的一个字符
 Ctrl + h 删除光标前的一个字符
 Ctrl + y 将删除的字符粘贴至光标后
 Alt + c 从光标处开始向右更改为首字母大写的单词
 Alt + u 从光标处开始,将右边一个单词更改为大写
 Alt + l 从光标处开始,将右边一个单词更改为小写
 Ctrl + t 交换光标处和之前的字符位置
 Alt + t 交换光标处和之前的单词位置
 Alt + N 提示输入指定字符后,重复显示该字符N次
 注意:Alt组合快捷键经常和其它软件冲突
 应用程序->附件->终端
 支持多个“标签”shell的图形化终端模拟器
 Ctrl-Shift-n 创建新窗口
 Ctrl-Shift-q 关闭当前窗口
 Ctrl-Shift-t 创建一个标签页
 Ctrl-Shift-w 关闭一个标签页
 Ctrl-PaUp/PgUn 切换到下一个/前一个标签页
 Ctrl-Shift-c 复制选中的文本
 Ctrl-Shift-v 把文本粘帖到当前光标处

相关文章

网友评论

      本文标题:linux基础知识

      本文链接:https://www.haomeiwen.com/subject/fsmnrxtx.html