本笔记主要适用于rhel7,其他linux系统相似,包含常用命令、快捷键等。
常用命令
挂载ISO文件:
mount -o loop /youdir/xxx.iso /mnt
查看光盘结构:
ls /mnt
卸载:
umount /mnt
或者
umount /youdir/xxx.iso
文件系统命令
查看当前分区的文件系统
df -Th
/root(root 的 home 目录)/home/username(其它普通用户的 home 目录)
/bin, /usr/bin, /usr/local/bin 命令存放处,所有用户都可执行
/sbin, /usr/sbin, /usr/local/sbin 命令存放处,但只有 root 用户可以使用
/media 自动挂载点,如 U 盘、光驱及一些可移动存储设备的挂载点。
/mnt 通常手动挂载设备时会挂载到这个目录下。
/etc 存入所有服务的配置文件,/etc/init.d 存放服务的脚本文件。
/tmp 系统或软件在运行时的临时文件存放处
/boot 存放内核文件及系统启动文件
/var 存有系统及软件的日志信息,及服务的数据,如:mail、DHCP/DNS 等服务的数据资料。
/proc /sys 内核信息
/run 程序及服务的临时数据
/lib, /usr/lib, /usr/local/lib 共享文件库及标准程序设计库,又叫动态链接共享库,作用类似 windows 里的.dll 文件,还有字体。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫.chk)就在这里命令行基础操作
补充知识: rhel6 文件系统:ext4 rhel7 文件系统:xfs
linux路径有两种寻址方式 绝对路径:从根(/)开始的路径是绝对路径,linux系统中只有一个根,以正斜线“/”开头,描述文件位置的完整说明 cd /tmp/aa 相对路径:以所处的工作目录为参照点 (.代表当前路径 ..代表上一级路径 ~代表用的宿主目录),不以正斜线开头,相对于你当前工作目录的位置 cd ../tmp
cd(change the working directory):
cd --直接回到家目录
cd ~ --直接回到家目录
cd .. --返回上级目录
cd . --回到当前目录
cd - --在两个目录之间切换(返回到上一次所在目录)
cd <path>进入path目录
ls(list directory contents):
ls --查看当前目录包含哪里些内容
ls ./ --查看当前目录包含哪里些内容
ls ../ --查看上层目录包含哪里些内容
ls -a --查看当前目录中所有的文件,包括以点开头的隐藏文件
ls -l --详细方式列出目录中的内容
ls -al / --以长格式列出目录中所有的内容,包括隐藏文件
ls -ltr --以长格式和时间及以时间反向顺序来显示目录中的内容
ls -R --递归列出目录中的内容
tree /a/ --查看a目录的目录树结构 安装tree(yum -y install tree)
ls -lh
ls -l -- -a (当文件名称与参数相同时,要用--来表示后面查看的是文件名称)
-rwxrw-rw- 1 root root 413 9月 22 2019 socketclient.py
第一位:文件类型
-:代表普通文件(file)
d:代表目录(directory)
b:块设备(block):如硬盘,U盘等
c:字符设备(char):如键盘等
s:套接字文件(socket)
p:命名管道(pipe)
l:符号链接文件(symbolic link file)
第二到十位:权限位(r w x:读 写 执行)
234位:文件属主权限(owner)
567位:文件属组权限(group)
8910位:其他用户权限(other)
1:代表文件硬链接的次数
第一个root:代表文件属主(owner)
第二个root:代表文件属组(group)
413:文件的大小
时间:文件最后被更改的时间戳(stat命令查看文件时间戳)
文件的时间戳:
access:访问的时间戳
modify:文件被修改时间戳(修改文件数据:添加删除数据等)
change:文件被更改时间戳(更改文件属性)
touch(新建空文件)
touch/如果目标不存在,会创建一个空文件
touch /a 更新时间戳,因/a这个文件存在
touch /a 创建空文件
touch {1,2,3}aa{4,5,6}bb{7,8,9} --创建27个空文件(ps:3x3x3,文件名1aa4bb7、1aa4bb8……)
touch "{1,2,3}aa{4,5,6}bb{7,8,9}" --创建1个空文件(ps:文件名{1,2,3}aa{4,5,6}bb{7,8,9})
touch 2 3 --创建一个2,同时又创建一个3
touch '2 3' --创建一个 2空格3 的文件
touch {4..10} --创建4到10
touch {a..z}
touch {A..Z}
touch file1 file2 :创建多个文件
touch -d 20110808 修改文件日期
touch -d 1215 修改文件时间
stat(显示文件时间戳)
stat install.log
访问时间 (access time):文件被访问的时间,文本访问类命令会修改此时间
修改时间 (modify time):文件内容被修改的时间,使用 echo 命令会修改此时间
元数据改变时间(chage time):文件属性的变化(名称、大小、权限、链接等),mv、echo 命令会修改此时间
touch -m | a -t 201108311630.15 2011年8月31日16点30分15秒
修改时间的时候 a 对应 Access ; m 对应 Modify ; Change没有对应的修改参数,不可修改
mkdir(新建目录)
mkdir a --新建一级目录
mkdir -p c/d --新建多级不存在目录
rmdir(删除空目录)
rmdir dir1
rmdir -p a/b/c
cp(文件复制)
cp copy files and directories
cp /dir1/file1 /dir2/
cp /dir1/file1 /dir2/file2
cp -a /dir1/file1 /dir2 --从dir1目录拷贝文件至2,过程中文件中所有的属性不变 (或者 -p)
cp -r /dir1/ /dir2 --递归拷贝(拷贝目录)
\cp /dir1/file1 /dir2/file1 如果有重名的不讯问是否覆盖,直接覆盖
mv -move (rename) file(移动/改名)
mv /dir1/file1 /dir2
mv /dir1/file1 /dir2/file2 --移动并改名
mv /dir1/file1 /dir1/file2 --改名字
rm - remove files or directories(删除文件目录)
> 命令选项:
> -f:不提示,强制删除文件或目录;
> -i:删除已有文件或目录之前先询问用户;
> -r,-R:递归删除,将指定目录下的所有文件与子目录一并删除;
> -v:显示指令的详细执行过程
rm /a.txt 删除文件
rm /a/ 删除该目录下所有文件
rm -rf /a/ 删除该目录下所有文件不询问
pwd(查看当前所在的工作目录)
用户
id(查看当前用户)
查看指定用户abc的信息
id abc
切换用户至abc
su abc
定义别名
alias --定义别名 unalias xxx --取消别名
alias kk="ls --color"
unalias kk
永久定义别名
修改配置文件
vim /etc/bashrc 或者 gedit /etc/bashrc
例如:alias grep='grep --color=tty'
历史命令
历史命令查询:
history --查看命令历史
history -c --清空命令历史
history -w --把命令历史写入默认文件中($HOME/.bash_history)
图形化命令
基于gnome图像化
alt+F2 输入命令窗口
nautilus 目录管理器(文件浏览器) # nautilus /root/
gedit gnome图形文本编辑器
基于KDE图形化
安装软件
yum -y groupinstall "KDE Desktop"
重启、关机、定时关机
关闭系统
shutdown
halt -p
poweroff -p
重启系统
reboot
shutdown -r
halt --reboot
poweroff --reboot
定时关机
shutdown -h 60 1小时之后关机
shutdown -c 取消
shutdown -r 120 2小时之后重启
shutdown -k '我真的1小时关机了咯'
shutdown -h 1 -k '我真的1小时关机了咯'
shutdown -h 15:05 -k 'xxxx15:05关机'
命令使用帮助
help --简单帮助
command(out) --help
help command(build_in)
内部、外部命令的识别: 内部命令是shell程序本身的功能,外部命令是第三方单独存在的程序 之不过由shell调用。
[root@localhost ~]# type exit
exit 是 shell 内嵌
[root@localhost ~]# type mkdir
mkdir 是 /usr/bin/mkdir
> 内部:help '内部命令'
eg:help pwd #内部:该命令功能是bash程序中的一段代码
> 外部:外部命令 --help
eg:ls --help #外部:独立存在的程序,由bash调用执行
man --帮助手册
man man
man [123456789] command
>参数选项
> 1 用户命令
>2 内核系统调用(从用户空间到进入点内核的)
>3 库函数
>4 特殊文件和设备
>5 配置文件格式和规范
>6 游戏
>7 规范、标准和其他页面
>8 管理员用的命令帮助手册
>9 linux、内核API(内核调用)
man -k passwd #执行关键字搜索
man -f useradd #useradd的man page 文件是哪个?
man page 的基本操作方法
> j 下一行
> k 上一行
> d 转到下半窗
> u 返回
> 10g 窗口转到第 10 行
> g 首行
> G 尾行
> 使用/来查找关键字
> n键跳到下一个关键字位置
> shift -n 跳到上一个关键字位置
> 向上/向下方向键及翻页键均可使用
> q 退出
详细的帮助手册(GNU)
/usr/share/doc --每个软件官方帮助文件档
whatis、which、whereis
whatis(显示命令的完整名称)
#whatis mv
mv (1) - move (rename) files
mv (1p) - move files
which(显示命令存放位置)
#which mv
alias mv='mv -i'
/usr/bin/mv
whereis(显示命令存放位置与man文档的路径)
#whereis mv
mv: /usr/bin/mv /usr/share/man/man1/mv.1.gz /usr/share/man/man1p/mv.1p.gz
查看文件结构
#lsblk /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 461.9G 0 part /
└─sda2 8:2 0 3.9G 0 part [SWAP]
环境变量
环境变量:内存中的命名空间
PATH变量:存放系统命令路径,以冒号隔开
查看PATH变量:echo $PATH(linux命令严格区分大小写)
root@kali:/# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
如果在以上路径中没有找到相关命令(该命令为外部命令),提示用户command not found
如果一个命令在以上多个路径中存在,系统会按照从前往后的顺序查找,查找到该命令后,后面的路径不再查找,即使前面的命令是错误的
hash:查看命令缓存及命中率
防火墙及服务操作
[root@uplooking pub]# setenforce 0 关闭selinux
iptables -F 清除防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service 开机不启动
systemctl status firewalld.service 查看服务状态
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?
查看已启动的服务列表:systemctl list-unit-files|grep enabled
快捷键操作
终端操作
中断:Ctrl + C
终止输入(exit|logout):Ctrl + D
清屏:Ctrl + L
把当前任务调至后台(暂停状态):Ctrl + Z
jobs: 查看后台任务
> fg [id] 将后台中的命令调至前台继续运行
> fg [id] 任务编号
> bg [id] 将一个在后台暂停的命令,变成在后台继续执行
> bg [id] 任务编号
删除当前光标到后面的所有内容:Ctrl + K
删除当前光标到前面的所有内容:Ctrl + U
终端切换
图形终端:Alt + F1
字符终端:Ctrl + Alt + F2---F6
备份图形终端:Alt + F7
重启|关机:Ctrl + Alt + delete