liunx01
下载vm,下载centos在vm上运行 ,再下载finalshell
快照:当linux删除重要文件的时候,可以使用快照来恢复,就是恢复到之前定快照的时候。
/ 为根目录 , ~为home目录 cd / 进入根目录 cd 进入home目录
一 基础命令
1. ls [-a -l -h] [ linux路径] 横向的列出当前目录下的内容
-a 输出所有的目标内容(包括隐藏内容) -l(竖向的列出更多的信息) -h(可以显示出内容大小,但必须和-l一起使用: -lh)
这三个可以混合使用 例:- al = -a -l = - la 都是可以的 ls -a -l -h
ls 如果不加路径,默认会输出home下的目录
2. cd(切换当前工作目录) pwd(输出所在当前工作目录)
cd 可以加路径,如果不加路径会默认返回到home目录下
例: root/test/jsp root一般为根目录 如果在test目录下访问jsp:cd jsp
如果在根目录访问jsp:cd /root/test/jsp
3. 相对路径和绝对路径
特殊路径符: cd. cd.. cd~
cd ../test/jsp.java 这是切换到上一级目录下的test文件中的jsp.java中
cd ~/test/jsp 切换到home目录下的test文件夹中的jsp
4. mkdir [ -p ] 路径 : 新建目录
-p (可选)可以创建多个层级的目录 例: mkdir -p make/test/666 如果在根目录下创建 mkdir -p ~/make/test/666
5. touch 创建文件 cat ,more(翻页查看) 查看文件
touch + 文件名 cat + 路径 用于查看少量文件内容 more+路径 适用于查看文件内容多的 空格实现翻页 q实现退出
cat + 路径 用户在当前执行的下的目录才能用cat
例: 这里data下有myid文件 ,这样才能使用cat
6.cp : 复制 mv移动文件/文件夹 rm 删除文件/文件夹
cp -r 路径 复制去的路径 :用于复制文件夹的时候
mv 路径 要移动到的路径 如果是移到文件夹最后需要+/ 是文件就不需要 例:移动文件夹 mv test test02/ 移动文件 mv test.txt test02.txt
rm [ -r -f ] 文件(夹)名1...文件(夹)名n : -r用于删除文件夹 -f表示强制删除(用于root用户) 删除多个文件/文件夹的时候 空格分开
rm -r test* 删除所有的以test开头的文件夹
7. which +要查找的命令 :查找所执行的命令所在的文件地址 find :查找文件
以文件名查找:find 查找的地方 -name "查找的文件名" 例:find / -name "test*" 在根目录下查找以test开头的文件
以文件大小查找:find 查找地方 -size +/-[kMG] :+为大于 -为小于 单位k, M ,G 例:find / -size -10k 在根目录下查找文件小于10k的文件
8.grep [-n] 关键字 文件路径 :关键词过滤
例 grep "test" test01/tset.txt 就是在test01/tset.txt路径下查找带有关键字test的
wc [ -c -m -l -w]统计文件行数、单词数量等
-c 统计byte(字节) 数量 -m 统计字符数量 -l 统计行数 -w统计单词数量
如果直接输出 wc +文件名 会输出:行数 单词数 字节数 和文件名
管道符 | ls - l /usr/bin | wc -f : wc -f 后面的路径就是 ls - l /usr/bin的出来的结果
左边的结果作为右边的输入
例1:
例2: cat test.txt得出test.txt所有的内容 通过grep 在内容中查找有itcast的,通过wc -l 得出有iscast的行数
9. echo 输出的内容
反引号 : echo `pwd` ``内会被作为执行命令
重定向符: > 为覆盖 >> 为追加
例: echo "hello world" > work.txt 当work,txt在目录中没有时,执行会创建出再覆盖内容hello world
tail [-f -num ] 路径
在 使用 tail -f 路径 持续跟踪修改过程中 , 通过ctrl+c来结束命令
10. vi\vim +路径名
模式切换
当进入命令模式后 : : set nu 可以显示行号 / 可以指定搜索内容 例: /test 就会显示test所在的内容
底线模式
11. su和exit命令
su - 切换的账户名 通过 su - 切换的账号名 可以实现 root - 用户 , 用户 -root的切换
12. sudo 命令
在root 中通过输入 visudo命令 在文件最后添加 该用户名 ALL=(ALL) NOPASSWD: ALL
wq 保存退出后 ,再在自己用户sudo +执行内容 就可以享有root权限的命令了
二 root 用户
1、用户管理命令
以下需要root用户才能执行
创建用户 useradd + [ -g -d] +用户名
-g 指用户的组: 如果-g没写,会默认创建同名组并自动加入 ,如果写了-g,则-g的组一定要存在
-d 指用户的home路径 :如果-d没写,会默认在 home/用户名 例 useradd test 这里 -g -d 都没写 所以会自动创建test组,路径会是 home/test
删除用户 userdel [-r] +用户名
-r :加了-可以同时删除用户的home目录 ,不加就是没有删除
id +用户名 查看用户名
usermod +aG +用户组 +用户名 :将用户名加入到用户组去 例 usermod aG test user01 ,将用户user01加入到test组
getent +passwd 可以查有那些用户
getent group 查看有那些组 会显示:组名+组的id
2、查看权限控制信息
r :read查看 w:write修改 x:exeuse 执行
3、修改权限控制
{1} chmod [-R] 权限 文件/文件夹
例: -R只用于修改文件夹的权限
快捷写法 例: chmod 751 hello.txt
rwx 利用二进制的形式来取数 7:rwx 5:rx 1:x
{2}chown 修改文件/文件夹所属用户和用户组
三、linux实用操作
1. 掌握各类实用技巧
ctrl + c 强制停止
ctrl + d 退出或登出 == exit
history 查看历史输入过的命令 可以结合grep过滤来查看 history | grep ch
ctrl + r
ctrl + l==clear 清屏
2.yum 软件安装
3. systemctl
4.ln -s 参数1 ~ 参数2 ln软链接 相当于windows里面的《快捷方式》
例:参数1在etc下的a.txt ,现在将软链接放到root下
这里必须在root路径下输入:ln -s /etc/a.txt ~/a.txt 会成这样————
5.date [ -d ]可以在命令中查看系统时间
date "+%Y-%m-%d %H:%M:%S" 2023-10-5 11:36:56
例: 注意在显示时分秒的时候 由于与年月日有空格 所以需要加入" "包围
-d选项 date -d "+1 year" 在日期基础上+1年
date -d "+1 year" +%Y%m%d 在日期基础上+1年 格式自定义
如果时间不准确,那就需要校准时间
修改时区 先删除localtime 再ln创建快捷方式localtime
6.ip地址
主机名映射:通过在hosts设置主机名 ,可以通过主机名来访问
7.配置linux固定ip地址
在虚拟机中: 将子网设置为192.168.88.0 在NAT设置中将网关ip设置为192.168.88.2 其中88.后面的数可以设置为0-254之间范围
8.ping 命令 ping [-c 次数] ip或主机名
wget命令
wget [ -b ] url(下载的地址) -b为后台下载
curl命令 curl [-o] url(访问地址)
-o 为下载 curl baidu.com 发起网络请求 打开的是该html源码
9.端口 (指计算机和外部交互的出入口)ip能确定计算机 而端口能锁定交互的程序
nmap + url地址 可以查看端口的占用
首先安装nmap 再执行 nmap 127.0.0.1 127.0.0.1表示本身的地址
netstat命令 由于netstat端口数量太多,这里结合过滤grep来查询
10.查看进程 ps -ef 就相当于windows的任务管理器
由于 使用-ef进程太多 这里一般会和grep 管道符使用 ps -ef | grep "tail"
kill [ -9 ] 进程号(进程号id) : 关闭进程 -9 就是强制关闭
11.查看资源管理占用 top 相当于windows里的任务管理器
11.1 top中的内容解释
top命令选项 左是通过top 输入 右是在top进程输入控制
11.2 磁盘信息监控
11.2.1 df [ -h ] 查看磁盘使用情况
11.2.2 iostat [ -x ][num1][num2] 查看磁盘cup 相关信息 -x 查看更多信息
num1:刷新间隔时间 num2 :刷新几次
11.3 网络状态监控
sar -n DEV num1 num2
12.环境变量
env 查看当前系统环境变量
$ 例:export myname=itheima 通过$取出来 echo $myname --> 可以输出itheima
自行设置环境变量 例:生成 myname=itheima
针对当前用户生效 通过 vim ~/bashrc中 加入export myname=itheima
针对全局用户生效 通过 vim /etc/profile文件中 加入export myname=itheima
再通过 source + 配置文件 立刻生效 这里的配置文件是上面修改的文件路径 例: /etc/profile
例:首先创建mkdir mynev 在mynev目录下 创建文件myhhh 可以直接 vi myhhh 在里面写入echo "哈哈哈"
保存退出通过 ./myhhh 发现执行不了 ,这里需要通过chmod 755 myhhh 来把里面的x执行打开
最后在 vi etc/profile 里面设置 export PATH=$PATH:/root/mynev 退出保存 这样无论在root中还是根目录中都可以直接访问myhhh文件
记住这里原有的PATH一定要带上,如何再次创建文件直接在后面加 :+路径
12.上传 下载
rz +选择文件 sz +文件名
13.压缩和解压
1.压缩
tar 一般会有 -cvf 和 -zcvf -zcvf用于gzip模式可以大大降低内存
tar -cvf test.txt 1.txt 2.txt ... 这里将1.txt 2.txt压缩到test.txt中
2.解压 -xvf 和 -zxvf 结合 -C + 解压的路径/
3.zip命令压缩文件
4.unzip命令解压文件