目录
Linux常用快捷键:
shift+ctrl+N 快速打开一个终端。
终端字体放大:ctrl+shift+加号。
终端字体缩小:ctrl+减号
ctrl+C 终止前台运行的程序
ctrl+D 退出,等价exit
ctrl+L clear
ctrl+R 搜索历史命令,利用关键词
!$ 引用上一个命令的最后一个参数
[root@xuegod63 network-scripts]# cat /etc/hosts
[root@xuegod63 network-scripts]# vim !$ #相当于执行: vim /etc/hosts
补全命令使用tab键,Tab只能补全命令和文件
关机命令:
[root@localhost ~]# shutdown +10
#执行此命令后,在其他终端都会收到10分钟后关机的消息
[root@localhost ~]# shutdown -c
#取消关机
[root@localhost ~]#init 0
#直接关机
tty可以看到当前所属的虚拟终端
#在第一个终端上操作
[root@localhost ~]# tty
/dev/pts/0
[root@localhost ~]#
#在第二个终端上操作
[root@localhost ~]# tty
/dev/pts/1
[root@localhost ~]#
echo输出命令
#在第一个终端上操作
[root@localhost ~]# tty
/dev/pts/0
[root@localhost ~]# echo jklsaj
jklsaj
[root@localhost ~]#echo jklsaj> //dev/pts/1
#在第二个终端上操作
[root@localhost ~]# tty
/dev/pts/1
[root@localhost ~]# jklsaj
#echo > 和 >>的区别
# >符是清空后新增内容
# >>是在文件末尾追加字符串
wall命令
wall命令是广播命令,可以广播到所有的虚拟终端上显示
wall ‘广播的内容'
[root@localhost chen]# wall 'slakjskl'
Broadcast message from root@localhost.localdomain (pts/0) (Wed Sep 15 18:44:17 2021):
slakjskl
[root@localhost chen]#
基本操作命令
命令格式:
命令 【选项】 【参数】
命令:具体执行的命令
选项:会影响到命令的一些行为操作,通常以---实现
参数:命令作用的对象
基本命令之--ls
作用:查看当前目录下有哪些文件(list)
语法:ls 目录/文件 ,如果什么也不加,那么查看的是当前目录下的内容
ll等价于ls -l -->查看当前目录的详细信息
drwxr-xr-x. 2 chen chen 6 9月 14 11:14 公共
d表示文件类型是目录文件
r表示有读的权限
w表示有写的权限
x表示有执行的权限
rwx表示文件所有者,r-x文件所在组,r-x其他用户对文件拥有的权限
第一个字符文件类型中:
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
- : 表示普通文件
列出目录下所有文件,包括以 . 开头的影藏文件
Linux下的隐藏文件是以 . 开头的,
[root@localhost chen]# cd
[root@localhost ~]# ls -a
. .bash_profile .dbus .mysql_history 公共 下载
.. .bashrc .esd_auth .pki 模板 音乐
anaconda-ks.cfg .cache .ICEauthority .tcshrc 视频 桌面
.bash_history .config initial-setup-ks.cfg .viminfo 图片
.bash_logout .cshrc .local .xauth1kQD7d 文档
[root@localhost ~]#
别名的使用
#创建别名:
[root@xuegod63 ~]# alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
[root@xuegod63 ~]# vimens33
#删除别名:
[root@xuegod63 ~]# unalias vimens33
创建别名永久生效:
[root@xuegod63 ~]# vim /root/.bashrc #插入以一下内容:
8 alias vimenss33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@xuegod63 ~]# source /root/.bashrc
[root@xuegod63 ~]# vimenss33
==》全局使用
[root@xuegod63 ~]# vim /etc/bashrc #在文件最后插入
alias vimenss33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@xuegod63 ~]# su - mk
上一次登录:四 11月 16 10:22:03 CST 2017pts/1 上
[mk@xuegod63 ~]$ vimenss33
基本命令之-cd
作用:切换目录(change directory)
语法:cd 目录
直接输入cd表示回到当前用户的家目录
[root@xuegod63 ~]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd
[root@xuegod63 ~]# cd ~
cd .. 表示返回到上级目录位置,也就是父目录
cd . 表示进入到当前用户所在的目录
[root@xuegod63 ~]# pwd
/root
[root@xuegod63 ~]# cd ..
[root@xuegod63 /]# pwd
/
[root@xuegod63 /]# cd .
[root@xuegod63 /]#
cd - #表示返回切换前的目录
[root@xuegod63 /]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd -
/
基本命令之-history
命令:history 4个快速查找Linux历史命令的技巧:
方法1: 光标上下键
方法2: ctrl+r -->输入某条命令的关键字-->找出来对应的命令,按右光标键
方法3: !数字 //执行历史命令中第N条命令
方法4:!字符串 //搜索历史命令中最近一个以xxxx字符开头的命令,例如!vim
基本命令之-du
作用:查看文件或文件夹的大小
基本命令之-touch
作用:常用来创建新的文件如果文件存在,则修改这个文件的时间
[root@localhost opt]# stat a1.txt
文件:"a1.txt"
大小:26 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:33745822 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2021-09-16 11:14:18.433443152 +0800
最近更改:2021-09-16 11:14:18.433443152 +0800
最近改动:2021-09-16 11:14:18.435443156 +0800
创建时间:-
[root@localhost opt]# touch a1.txt
[root@localhost opt]# stat a1.txt
文件:"a1.txt"
大小:26 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:33745822 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2021-09-16 11:37:37.796355586 +0800
最近更改:2021-09-16 11:37:37.796355586 +0800
最近改动:2021-09-16 11:37:37.796355586 +0800
创建时间:-
[root@localhost opt]#
注: 访问时间:atime 查看内容 cat a.txt
修改时间:mtime 修改内容 vim a.txt
改变时间:ctime 文件属性,比如权限 change time。 chmod +x a.sh
[root@localhost opt]# touch b1.txt #建立文件b1.txt
[root@localhost opt]# ls
a1.txt a2.txt a3.txt a4.txt b1.txt rh
[root@localhost opt]# touch b2.txt b3 #建立多个文件
[root@localhost opt]# ls
a1.txt a2.txt a3.txt a4.txt b1.txt b2.txt b3 rh
[root@localhost opt]# touch b{4..9} #快速建立多个文件
[root@localhost opt]# ls
a1.txt a2.txt a3.txt a4.txt b1.txt b2.txt b3 b4 b5 b6 b7 b8 b9 rh
[root@localhost opt]#
使用vim和重定向echo创建一个新文件
用vim命令创建一个新文件:
[root@localhost opt]# ls
a1.txt a3.txt b1.txt b3 b5 b7 b9 rh
a2.txt a4.txt b2.txt b4 b6 b8 c1.txt
[root@localhost opt]# vim d1.txt
[root@localhost opt]# cat d1.txt
this is d1.txt
[root@localhost opt]#
用重定向创建一新文件:
[root@localhost opt]# ls
a1.txt a3.txt b1.txt b3 b5 b7 b9 d1.txt
a2.txt a4.txt b2.txt b4 b6 b8 c1.txt rh
[root@localhost opt]# echo this is e1.txt>e1.txt
[root@localhost opt]# ls
a1.txt a3.txt b1.txt b3 b5 b7 b9 d1.txt rh
a2.txt a4.txt b2.txt b4 b6 b8 c1.txt e1.txt
[root@localhost opt]# cat e1.txt
this is e1.txt
[root@localhost opt]#
基本命令之-mkdir
作用:创建目录
语法:mkdir (选项) 文件名
[root@localhost opt]# ls
a1.txt a3.txt b1.txt b3 b5 b7 b9 d1.txt rh
a2.txt a4.txt b2.txt b4 b6 b8 c1.txt e1.txt
[root@localhost opt]# mkdir text1
[root@localhost opt]# ls
a1.txt a3.txt b1.txt b3 b5 b7 b9 d1.txt rh
a2.txt a4.txt b2.txt b4 b6 b8 c1.txt e1.txt text1
[root@localhost opt]# ^C
[root@localhost opt]# mkdir text2 text3text4
[root@localhost opt]# ls
a1.txt a3.txt b1.txt b3 b5 b7 b9 d1.txt rh text2
a2.txt a4.txt b2.txt b4 b6 b8 c1.txt e1.txt text1 text3text4
[root@localhost opt]#
mkdir: 无法创建目录"/tmp/a/b/c": 没有那个文件或目录
[root@xuegod63 opt]# mkdir -p /tmp/a/b/c
#在创建一个目录的时候,如果这个目录的上一级不存在的话,要加参数-p
[root@localhost opt]# mkdir text/text0
mkdir: 无法创建目录"text/text0": 没有那个文件或目录
[root@localhost opt]# mkdir -p text/text0
[root@localhost opt]# ls
a1.txt a3.txt b1.txt b3 b5 b7 b9 d1.txt rh text1 text3text4
a2.txt a4.txt b2.txt b4 b6 b8 c1.txt e1.txt text text2
[root@localhost opt]# cd /opt/text
[root@localhost text]# ls
text0
基本命令之-rm
作用:可以删除一个目录中的一个或多个文件或目录,
对于链接文件,只是删除整个链接文件,而原文件保持不变的
语法:rm (选项) 处理对象
选项: -f 强制删除,没有提示
-r 删除目录
[root@localhost opt]# rm -rf a1.txt
[root@localhost opt]# ls
a2.txt a4.txt b2.txt b4 b6 b8 c1.txt e1.txt text text2
a3.txt b1.txt b3 b5 b7 b9 d1.txt rh text1 text3text4
[root@localhost opt]# rm -rf a2.txt text1 text2 text3text4
[root@localhost opt]# ls
a3.txt b1.txt b3 b5 b7 b9 d1.txt rh
a4.txt b2.txt b4 b6 b8 c1.txt e1.txt text
[root@localhost opt]# rm -rf a* b* #删除多个文件
[root@localhost opt]# ls
c1.txt d1.txt e1.txt rh text
[root@localhost opt]# rm -rf c*.txt #删除格式相似的文件或文件夹
[root@localhost opt]# ls
d1.txt e1.txt rh text
[root@localhost opt]# rm -rf *.txt #删除格式相似的文件或文件夹
[root@localhost opt]# ls
rh text
[root@localhost opt]# rm -rf /text/text0 #删除目录里面的文件
[root@localhost opt]# ls
rh text
[root@localhost opt]# cd /opt/text
[root@localhost text]# cd ../
[root@localhost opt]# ls
rh text
[root@localhost opt]# rm -rf text
[root@localhost opt]# ls
rh
[root@localhost opt]#
rm -rf (慎用,一定要在删除以前确定一下所在目录,防止误删除重要数据)
使用*删除类似文件的多种情况:
[root@localhost opt]# ls
rh
[root@localhost opt]# mkdir text
[root@localhost opt]# touch text.txt
[root@localhost opt]# rm -rf t*
[root@localhost opt]# ls
rh
[root@localhost opt]# mkdir text
[root@localhost opt]# touch text.txt
[root@localhost opt]# ls
rh text text.txt
[root@localhost opt]# rm -rf text*
[root@localhost opt]# ls
rh
[root@localhost opt]# mkdir text
[root@localhost opt]# touch text.txt
[root@localhost opt]# rm -rf text.*
[root@localhost opt]# ls
rh text
[root@localhost opt]# rm -rf text*
[root@localhost opt]# ls
rh
[root@localhost opt]#
基本命令之-cp
命令:cp 源文件/目录 目录文件/目录
选项:-R/r:递归处理,将指定目录下的所有文件与子目录一并处理
例子: [root@xuegod63 ~]# cp /etc/passwd /opt/ #复制文件
[root@xuegod63 ~]# cp -r /boot/grub /opt/ #复制目录
[root@localhost opt]# ls
rh
[root@localhost opt]# touch a.txt
[root@localhost opt]# touch b.txt
[root@localhost opt]# echo this is a.txt> /opt/a.txt
[root@localhost opt]# cat a.txt
this is a.txt
[root@localhost opt]# cp a.txt b.txt
cp:是否覆盖"b.txt"? y
[root@localhost opt]# cat b.txt
this is a.txt
[root@localhost opt]# echo this is b.txt>b.txt
[root@localhost opt]# cat b.txt
this is b.txt
[root@localhost opt]# mkdir text
[root@localhost opt]# ls
a.txt b.txt rh text
[root@localhost ~]# cp /opt/a.txt /opt/text
[root@localhost ~]# cd /opt/text
[root@localhost text]# ls
a.txt
[root@localhost text]# touch c.txt
[root@localhost text]# cp /opt/b.txt /opt/text/c.txt
cp:是否覆盖"/opt/text/c.txt"? y
[root@localhost text]# ls
a.txt c.txt
[root@localhost text]# cat a.txt
this is a.txt
[root@localhost text]# cat c.txt
this is b.txt
[root@localhost text]#
基本命令之-mv
[root@localhost opt]# ls
a.txt b.txt rh text
[root@localhost opt]# mv b.txt /opt/text/
[root@localhost opt]# cd /opt/text
[root@localhost text]# ls
a.txt b.txt c.txt
[root@localhost text]# cd ../
[root@localhost opt]# ls
a.txt rh text
[root@localhost opt]#
查看文件的四种方法
cat
语法:cat 文件名
作用:查看文件内容,一次显示整个文件的内容
[root@localhost text]# cat a.txt
this is a.txt
more
作用:以分页形式显示文件内容
语法:more 文件名
说明: 按下回车刷新一行,按下空格刷新一屏,输入q键退出
不支持前后翻滚
less
作用:和more功能一样
语法:less +文件名
说明:linux中more与less的区别
more:
不支持后退,但几乎不需要加参数,
空格键是向下翻页,
Enter键是向下翻一行,
在不需要后退的情况下比较方便
less:
支持前后翻滚,
既可以向上翻页(pageup按键),
也可以向下翻页(pagedown按键)。,
空格键是向下翻页,
Enter键是向下翻一行
head
作用: 用于显示文件的开头的内容
在默认情况下,head命令显示文件的头10行内容
语法:head(选项)文件名 参数: -n 显示从文件头开始的行数
[root@localhost opt]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost opt]# head -n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@localhost opt]#
tail
作用: 用于显示文件中的尾部内容。
默认在屏幕上显示指定文件的末尾10行
语法:tail (选项)文件名 参数:
-n 显示文件尾部多少行的内容(n为数字)
-f 动态显示数据(不关闭),常用来查看日志
[root@xuegod63 ~]# tail -n 3 /var/log/secure #查看最后3行记录
[root@xuegod63 ~]# tail -f /var/log/secure #在一个终端执行此命令动态查看文件内容 [root@xuegod63 ~]# ssh root@192.168.1.63 #在另一个终端远程登录Linux,登录成功后 [root@xuegod63 ~]# tail -f /var/log/secure #可以动态查看到登录成功的日志 Nov 17 00:08:32 xuegod63 sshd[2924]: Accepted password for root from 192.168.1.63 port 39904 ssh2
查看日志
使用tailf命令动态查看日志:
[root@localhost opt]# tail -n 3 /var/log/secure
Sep 16 13:12:32 localhost gdm-password]: gkr-pam: no password is available for user
Sep 16 13:12:37 localhost gdm-password]: gkr-pam: unlocked login keyring
Sep 16 14:45:36 localhost gdm-password]: gkr-pam: unlocked login keyring
[root@localhost opt]# tailf /var/log/secure
Sep 16 10:03:23 localhost gdm-password]: gkr-pam: unlocked login keyring
Sep 16 10:31:06 localhost gdm-password]: gkr-pam: unlocked login keyring
Sep 16 10:54:36 localhost gdm-password]: gkr-pam: unlocked login keyring
Sep 16 11:31:56 localhost gdm-password]: gkr-pam: unlocked login keyring
Sep 16 13:12:32 localhost gdm-password]: pam_unix(gdm-password:auth): conversation failed
Sep 16 13:12:32 localhost gdm-password]: pam_unix(gdm-password:auth): auth could not identify password for [root]
Sep 16 13:12:32 localhost gdm-password]: pam_succeed_if(gdm-password:auth): requirement "uid >= 1000" not met by user "root"
Sep 16 13:12:32 localhost gdm-password]: gkr-pam: no password is available for user
Sep 16 13:12:37 localhost gdm-password]: gkr-pam: unlocked login keyring
Sep 16 14:45:36 localhost gdm-password]: gkr-pam: unlocked login keyring
#已在其他终端连接ip,日志发生变化,tailf命令动态查看
Sep 16 14:47:38 localhost sshd[14947]: Address 192.168.39.129 maps to localhost.localdomain, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Sep 16 14:47:42 localhost sshd[14947]: Accepted password for root from 192.168.39.129 port 47718 ssh2
Sep 16 14:47:42 localhost sshd[14947]: pam_unix(sshd:session): session opened for user root by (uid=0)
#通过ssh命令在其他终端连接本机ip,产生登录日志
[root@localhost opt]# ssh root@192.168.39.129
The authenticity of host '192.168.39.129 (192.168.39.129)' can't be established.
ECDSA key fingerprint is SHA256:5xdnYVfabMs4ffzwzoqmA5SDhDJlWMw/sROQHDFLrkE.
ECDSA key fingerprint is MD5:b9:fd:6a:e2:16:a3:fe:8d:47:ef:5b:24:9c:e3:2c:b8.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '192.168.39.129' (ECDSA) to the list of known hosts.
root@192.168.39.129's password:
Last login: Thu Sep 16 09:55:37 2021
[root@localhost ~]#