《鸟哥的Linux私房菜》学习笔记
1.Vim的使用
- 一般指令模式:vim进去模式的模式
- 编辑模式:在一般模式下按 “i, I, o, O, a, A, r, R” 可以进入编辑模式
- 命令行命令模式:在一般模式下输入 “: / ?” 任意一个,可以将光标移动到最下面那一列
vim fileName
可以新建一个文件,编辑完后按ESC输入:wq
即可完成编辑且退出,若文件权限不对无法写入,可以加一个!表示强制写入,即 :wq!
,但这是在“你的权限可以改变”的情况下才能成立的
在一般指令模式下:按u可以撤销编辑模式下的修改、30 j
向下移动30行光标、30 k
向上移动30行光标
菜鸟教程 vim
2.BASH
2.1 认识bash与shell
通过“ Shell ”将输入的指 令与 Kernel 沟通,好让 Kernel 可以控制硬件来正确无误的工作
history:历史查询功能
Tab按键:自动补全
alias:命令别名设置功能,如:alias lm='ls -al'
,lm
和ls -al
功能是一样的,要取消别名的设置unalias lm
[root@VM-20-9-centos /]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='(alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot'
alias xzegrep='xzegrep --color=auto'
alias xzfgrep='xzfgrep --color=auto'
alias xzgrep='xzgrep --color=auto'
alias zegrep='zegrep --color=auto'
alias zfgrep='zfgrep --color=auto'
alias zgrep='zgrep --color=auto'
Wildcard:万用字符:比如查看 /usr/bin文件夹下面以x开头的文件或文件夹
代码语言:javascript复制[root@VM-20-9-centos /]# ls -l /usr/bin/x*
lrwxrwxrwx 1 root root 7 4月 24 2020 /usr/bin/x86_64 -> setarch
-rwxr-xr-x 4 root root 1257912 10月 12 2020 /usr/bin/x86_64-redhat-linux-c
-rwxr-xr-x 4 root root 1257912 10月 12 2020 /usr/bin/x86_64-redhat-linux-g
-rwxr-xr-x 3 root root 1253912 10月 12 2020 /usr/bin/x86_64-redhat-linux-gcc
-rwxr-xr-x 3 root root 1253912 10月 12 2020 /usr/bin/x86_64-redhat-linux-gcc-8
-rwxr-xr-x. 1 root root 424 5月 11 2019 /usr/bin/x86_64-redhat-linux-gnu-pkg-config
-rwxr-xr-x 1 root root 32832 10月 22 2020 /usr/bin/x86_energy_perf_policy
-rwxr-xr-x. 1 root root 90312 5月 11 2019 /usr/bin/xargs
-rwxr-xr-x 1 root root 340216 11月 9 2019 /usr/bin/xgettext
-rwxr-xr-x 1 root root 20656 4月 7 2020 /usr/bin/xmlcatalog
-rwxr-xr-x 1 root root 75096 4月 7 2020 /usr/bin/xmllint
-rwxr-xr-x. 1 root root 35680 5月 11 2019 /usr/bin/xmlwf
-rwxr-xr-x 1 root root 29248 10月 15 2020 /usr/bin/xsltproc
-rwxr-xr-x 1 root root 23440 11月 12 2019 /usr/bin/xxd
-rwxr-xr-x. 1 root root 91432 5月 11 2019 /usr/bin/xz
lrwxrwxrwx. 1 root root 2 5月 11 2019 /usr/bin/xzcat -> xz
lrwxrwxrwx. 1 root root 6 5月 11 2019 /usr/bin/xzcmp -> xzdiff
-rwxr-xr-x. 1 root root 18376 5月 11 2019 /usr/bin/xzdec
-rwxr-xr-x. 1 root root 6632 5月 11 2019 /usr/bin/xzdiff
lrwxrwxrwx. 1 root root 6 5月 11 2019 /usr/bin/xzegrep -> xzgrep
lrwxrwxrwx. 1 root root 6 5月 11 2019 /usr/bin/xzfgrep -> xzgrep
-rwxr-xr-x. 1 root root 5628 5月 11 2019 /usr/bin/xzgrep
-rwxr-xr-x. 1 root root 1802 5月 11 2019 /usr/bin/xzless
-rwxr-xr-x. 1 root root 2161 5月 11 2019 /usr/bin/xzmore
type:查看指令是否为内置指令, 因此 type 也可以用来作为类似 which 指令的用途
代码语言:javascript复制[root@VM-20-9-centos /]# type man
man 是 /usr/bin/man
[root@VM-20-9-centos /]# type ls
ls 是 `ls --color=auto` 的别名
[root@VM-20-9-centos /]# type history
history 是 shell 内建
[root@VM-20-9-centos /]# type cd
cd 是 shell 内
[Enter]键:换行输入
代码语言:javascript复制[root@VM-20-9-centos /]# ls
> -al
总用量 80
dr-xr-xr-x. 19 root root 4096 3月 1 10:46 .
dr-xr-xr-x. 19 root root 4096 3月 1 10:46 ..
-rw-r--r-- 1 root root 0 11月 26 2019 .autorelabel
lrwxrwxrwx. 1 root root 7 5月 11 2019 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 4月 13 2021 boot
drwxr-xr-x 2 root root 4096 12月 10 2019 data
drwxr-xr-x 19 root root 2960 11月 7 01:31 dev
drwxr-xr-x. 100 root root 12288 2月 18 14:25 etc
drwxr-xr-x. 6 root root 4096 2月 18 14:25 home
lrwxrwxrwx. 1 root root 7 5月 11 2019 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 5月 11 2019 lib64 -> usr/lib64
drwx------. 2 root root 16384 11月 26 2019 lost found
drwxr-xr-x. 2 root root 4096 5月 11 2019 media
drwxr-xr-x. 2 root root 4096 5月 11 2019 mnt
drwxr-xr-x. 3 root root 4096 11月 6 10:59 opt
dr-xr-xr-x 100 root root 0 11月 7 01:31 proc
dr-xr-x---. 6 root root 4096 2月 28 14:22 root
drwxr-xr-x 31 root root 1020 2月 23 11:34 run
lrwxrwxrwx. 1 root root 8 5月 11 2019 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 5月 11 2019 srv
dr-xr-xr-x 13 root root 0 11月 7 01:31 sys
drwxrwxrwt. 4 root root 4096 3月 1 10:27 tmp
drwxr-xr-x. 12 root root 4096 11月 26 2019 usr
drwxr-xr-x. 20 root root 4096 11月 26 2019 var
2.2 变量
定义:变量就是让某一个特定字串代表不固定的内容
如系统变量 一般是大写 PATH、HOME、SHELL、MAIL
变量的取用:echo
,一般会在变量前面加上$
[root@VM-20-9-centos /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@VM-20-9-centos /]# echo $HOME
/root
[root@VM-20-9-centos /]# echo $MAIL
/var/spool/mail/root
[root@VM-20-9-centos /]# echo $SHELL
/bin/bash
变量的设置:=
,变量开头不能是数字,等号两边不能接空格
[root@VM-20-9-centos /]# echo ${myname}
[root@VM-20-9-centos /]# myname=试一下设置变量
[root@VM-20-9-centos /]# echo ${myname}
试一下设置变
取消变量的设置:unset
[root@VM-20-9-centos /]# echo ${myname}
试一下设置变量
[root@VM-20-9-centos /]# unset myname
[root@VM-20-9-centos /]# echo ${myname}
环境变量
env:列出来所有的环境变量
代码语言:javascript复制[root@VM-20-9-centos /]# env
LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
SSH_CONNECTION=58.251.76.253 52032 10.0.20.9 22
LANG=zh_CN.UTF-8
HISTTIMEFORMAT=%F %T
HOSTNAME=VM-20-9-centos
OLDPWD=/root
XDG_SESSION_ID=66213
USER=root
PWD=/
HOME=/root
SSH_CLIENT=58.251.76.253 52032 22
SSH_TTY=/dev/pts/0
MAIL=/var/spool/mail/root
TERM=xterm-256color
SHELL=/bin/bash
SHLVL=1
PROMPT_COMMAND=history -a; history -a; printf "