编辑命令:
Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + w :从光标处删除至字首
Ctrl + d :删除光标处的字符
Ctrl + h :删除光标前的字符
重新执行命令:
Ctrl + p:历史中的上一条命令
ESC + .:打印之前执行过的命令的最后一部分 以空格为分隔符
控制命令:
Ctrl + l:清屏
Ctrl + c:终止命令
Tab键: 自动补全
1、Linux目录结构
在linux系统中一切皆文件
1.1 WINDOWS/LINUX 对比
Windows: 以多根的方式组织文件 C:\ D:\ E:\
Linux: 以单根的方式组织文件"/"
1.2 简介
/目录结构: FSH (Filesystem Hierarchy Standard):标准的目录结构 [root@localhost ~]# ls / a1dir1 boot dir home lib64 mnt proc run srv tmp var bin dev etc lib media opt root sbin sys usr
注:linux一切皆文件,文件类型不同
1.4 目录功能
bin 普通用户使用的命令 /bin/ls, /bin/date sbin 管理员使用的命令 /sbin/service 案例: [root@localhost ~]# which ls /bin/ls [root@localhost ~]# which useradd /sbin/useradd dev 设备文件 /dev/sda,/dev/sda1 [root@localhost ~]# ll /dev/sd* brw-rw----. 1 root disk 8, 0 4月 16 14:31 /dev/sda brw-rw----. 1 root disk 8, 1 4月 16 14:31 /dev/sda1 brw-rw----. 1 root disk 8, 2 4月 16 14:31 /dev/sda2 [root@localhost ~]# tty /dev/pts/4 #这是我们的终端。 /root #root用户的家目录 /home #存储普通用户家目录 lost+found #这个目录平时是空的,存储系统非正常关机而留下“无家可归”的文件 /usr #系统文件,相当于C:\Windows /usr/local #软件安装的目录,相当于C:\Program /usr/bin #普通用户使用的应用程序 /usr/sbin #管理员使用的应用程序 /usr/lib #库文件Glibc 32bit /usr/lib64 #库文件Glibc 64bit /boot #存放的系统启动相关的文件,例如kernel /etc #配置文件(系统相关如网络/etc/sysconfig/network) /tmp #临时文件(系统:程序产生的临时文件) /opt #空目录 /var #存放的是一些变化文件,比如数据库,日志,邮件.... /proc #虚拟文件系统,系统程序文件所处目录 。虚拟文件系统:只要关机就会没有。 ===设备(主要指存储设备)挂载目录=== /mnt #系统提供这个目录是让用户临时挂载其他的文件系统
路径详解
所谓路径即目录组成结构 一个linux路径由"/"和目录(文件)名称两部分组成 比如:/etc/passwd 如果"/"出现在路径开头,则其表示根目录,在路径中间出现"/",其含义是某一个目录下,那么上面所示路径的意思就是"根目录下的etc目录下的passwd文件" 如果路径最后出现"/",则表示这是一个目录
2、Linux系统基础命令
2.1 登录root用户
超级管理员用户,权限最高
[root @ localhost ~ ] # 用户 主机名 当前用户家目录 管理员用户
2.2 修改主机名
[root@localhost /]# hostnamectl set-hostname reece
需要断开重连一下,主机名才会变化
2.3 新建用户
[root@reece ~]# useradd kali #新建用户 [root@reece ~]# id kali #查看用户kali是否存在 uid=1002(kali) gid=1002(kali) 组=1002(kali) #存在会显示用户信息 [root@reece ~]# id alice #查看alice是否存在 id: alice: no such user #提示用户不存在 注释:useradd创建用户,用户无密码;暂时不可以使用此用户进行远程连接 [root@reece ~]# passwd kali #root用户可以给任何普通用户设置密码,且不用遵循密码复杂策略;普通用户只能给自己设置密码,且需要遵循密码复杂策略
切换用户: su ---switch user [root@reece ~]# su - kali #切换用户:由root用户切换到其他用户,无需输入密码;由普通用户切换到其他用户需要输入密码 [kali@reece ~]$ $符号:代表普通用户 #符号:代表root用户 [kali@reece ~]$ exit #退出普通用户,会返回上一次所登录用户,连续退出,直到最后会断开连接 注:# Ctrl+D 也可退出
[root@reece ~]# passwd kali #root用户修改普通用户密码直接就修改为新密码
[kali@reece ~]$ passwd #普通用户修改密码需知原密码才可修改,且需遵顼密码复杂原则
验证思路:用普通用户kali切换到另一个普通用户,会让输入密码;
2.4 查看时间:date
[root@reece ~]# date #显示年月日,周,具体时间 [root@reece ~]# date +%F #只显示当前年月日 [root@reece ~]# date +%X #只显示当前时间到秒 [root@reece ~]# date +%x #也显示当前年月日 [root@reece ~]# date +%x%X #显示年月日时分秒
2.5 查看当前所在目录
linux操作系统最顶层目录:根目录 ” / “
[root@reece ~]# pwd #显示当前工作路径且是绝对路径pwd ---Print working directory
注释:root用户家目录在/root
普通用户的家目录在:/home/用户名目录; 比如kali用户,它的家目录就是/home/kali
2.6 查看文件信息:ls(list files)
[root@reece /]# ls #查看当前目录下所有的文件 [root@reece /]# ls /root #查看某个目录下所有的文件 [root@reece /]# ls /home #查看指定目录下所有的文件 [root@reece /]# ls / #查看根目录下所有的文件 [root@reece /]# ls -l #长格式显示(显示文件的详细信息) drwxr-xr-x. 20 root root 文件类型\权限 硬链接个数 所有者 所属组 282 4月 16 14:31 var 大小 修改时间 名字 [root@reece /]# ls -l /home #查看/home目录下所有文件的详细信息 # 每个命令,都有自身的参数,每个参数理解为是命令的一个功能 [root@reece ~]# ls -l -d /home #显示目录的详细信息 [root@reece ~]# ll -d /home/ #显示目录的详细信息 [root@reece ~]# ll -ld /home/ #显示目录的详细信息 #ls -lh #-h 人性化显示(显示文件大小) -h要和-l结合使用,才有效果 #ls -a #all 显示所有文件(包含隐藏文件) #ls -i #显示文件的inode号 [root@reece ~]# ll /home/ #查看目录下面文件的详细信息 [root@reece ~]# ll -t #按最新的修改时间排序 [root@reece ~]# clear #清屏,快捷键---ctrl+l #隐藏文件:文件名称前面加" . " 注释:ll 相当于 ls -l
2.7 切换目录:cd(change directory)
. 表示当前目录 [root@reece ~]# cd /home/kali [root@reece kali]# pwd /home/kali [root@reece ~]# cd #直接回车,切换到当前用户家目录下 [root@reece ~]# cd ~ #切换到当前用户家目录下 [root@reece ~]# cd .. #切换到上一级目录 [root@reece /]# cd ../.. #切换到上一级的上一级的目录 以此类推 [root@reece /]# cd - #切换到上一次所在目录
2.8 绝对路径和相对路径
Linux绝对路径与相对路径 在Linux中,路径可以分为两类:绝对路径和相对路径 1.绝对路径: 绝对路径是从根目录(/)开始的完整路径,不依赖于当前工作目录。例如,/home/kali是一个绝对路径
2.相对路径: 相对路径是相对于当前工作目录的路径。例如,如果当前工作目录是/home/,要指向同一目录下的kali目录,可以只用kali作为路径,这就是相对路径。
在命令行中使用这些路径时,可以这样做:
# 切换到绝对路径目录 [root@reece /]# cd /home/kali # 使用绝对路径执行命令 [root@reece kali]# ls /home/kali # 切换到相对路径目录 [root@reece kali]# cd ../ # 使用相对路径执行命令 [root@reece home]# ls kali
2.9 创建文件:touch
[root@reece ~]# touch a.txt [root@reece ~]# touch b.txt c.txt [root@reece ~]# touch /home/kali/z.txt [root@reece ~]# touch /home/dir/a.txt /home/dir9/a.txt #一次性在多个目录下创建文件 [root@reece ~]# touch {1..7}.txt #批量创建文件 [root@reece ~]# touch /home/{1..7}.txt #绝对路径方式,批量创建文件 注释:重复创建文件,不会覆盖文件,只会更新它的修改时间
echo 加内容 > 加文件名 #覆盖:把之前的内容替换掉 # echo 123 > a.txt echo 加内容 >> 加文件名 #追加:保留之前的内容,在后面添加新内容 # echo 345345 >> a.txt 当使用echo 123 >> a.txt 这个命令的时候在文件不存在的时候会创建该文件并将内容追加到改文件中
2.10 创建目录:mkdir
[root@reece ~]# mkdir dir1 [root@reece ~]# mkdir dir1 dir2 [root@reece ~]# mkdir /mnt/dir3 [root@reece ~]# mkdir /home/dir1 /mnt/dir2 [root@reece ~]# mkdir dir{1..10} [root@reece ~]# mkdir /home/dir{5..7} /mnt/dir9 /mnt/dir10 注释:目录无法被重建,一旦重建,会提示已存在 [root@reece ~]# mkdir -v /home/dir77 #-v:verbose 冗长的。显示创建时的详细信息 [root@reece ~]