查看当前文件路径
pwd
切换文件目录
使用cd命令 cd /文件路径
# 访问usr路径
cd /usr
# 访问多级路径 usr路径下的local文件
cd /usr/local
# 返回上一级
cd ..
# 返回当前用户所在目录
cd ~
# 返回根目录
cd /
# 返回上一级目录
cd -
可以使用tab键补齐
如访问 / 目录下的User,此时输入Us 再按tab键即可补齐
文件列表
使用ls命令
# 查看文件
ls
# 显示所有文件(包括隐藏文件)
ls -a
# 显示文件详细信息
ls -l
ll # ls -l简写为ll
# 按时间倒序查看文件
ls -lrt
创建目录和删除目录
使用mkdri创建,rmdir删除
# 创建单级目录
mkdir aaa # aaa为目录名
# 创建多级目录
mkdir -p aaa/bbb
# 删除目录
rmdir aaa
浏览文件
使用cat、more、less、tail命令来查看文件内容
这个比较常用于查询日志文件的内容
cat命令能够加载所有的文件内容 -有时文件内容太多,全部加载出来很难找到自己想要的内容
more命令相当于翻页版的cat,能够分页查询cat,按回车或空格即可翻页,按q退出
less命令跟more类似,比起more多出了使用键盘上下键控制文件内容
tail命令用的比较多,能够查看文件最后的内容,也可以动态查看日志变化
命令使用
# 查看文件
cat blog.log # blog.log为文件名
more blog.log
less blog.log
# 使用tail命令查看最后十行
tail -n 10 blog.log
# 动态显示最后十行的日志
tail -f blog.log
文件操作
使用cp命令复制文件,使用mv命令移动文件
# 使用cp命令,将a.txt文件复制到 bbb目录下
cp a.txt bbb
# 使用cp命令,将a.txt文件复制到 bbb目录下,重命名为b.txt
cp a.txt bbb/b.txt
# 使用mv命令,将a.txt文件移动到 bbb目录下
mv a.txt bbb
文件删除 rm命令
# 删除a.txt
rm a.txt
# 删除a.txt文件,并且不需要用户输入 y/n确认是否删除
rm -f a.txt
# 删除文件夹及文件夹内的文件
rm -r aaa
# 删除文件夹及文件夹内的文件,并且不询问用户是否确认删除
rm -rf aaa
文件打包和解压
一般在linux上看到的压缩文件都是xxx.tar.gz这样的文件,实际上是经过了两个步骤
1.将一个目录进行打包 -> xxx.tar文件
2.将目录打包并压缩 -> xxx.tar.gz文件
命令:tar 参数 文件名称
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件
演示:
# 打包 apache-tomcat文件
tar -cvf apache-tomcat # 结果为apache-tomcat.tar文件
# 打包并使用gzip压缩文件
tar -zcvf apache-tomcat # 结果为apache-tomcat.tar.gz
# 解压文件 tar文件
tar -xvf apache-tomcat.tar
# 解压gz文件
tar -zxvf apache-tomcat.tar.gz
t
文件查找
使用find命令和grep命令
find命令是查找文件的路径
grep是查找文件的内容
# 在跟目录下查找 aabb.txt文件
find / -name 'aabb.txt'
# 使用模糊查找的形式
find / -name 'aa*.txt'
# 使用grep命令,查找aabb.txt里面包含 address 字符
grep 'address' ./aabb.txt
补充:使用grep常用命令
# 查看本机ip ,只显示ip地址信息
ifconfig | grep 'inet'
# 查看java进程
ps -ef | grep java
# 查看80端口号
netstat -lnp | grep 80
# 根据程序号停止进程
kill -9 '进程号'
其他命令
创建文件
# 创建 a.txt文件
touch a.txt
# 如创建git的忽略列表 --创建时需要确保跟.git文件同一级目录
git .gitignore
# 清屏
clear
重定向输出内容和系统管理
> 重定向输出,覆盖原有内容;>> 重定向输出,又追加功能
# 将 ifconfig 的内容重定向输出到 a.txt里 -- > 使用多次只会重复覆盖
cat ifconfig > a.txt
# 将 ifconfig 的内容追加到 a.txt里
cat ifconfig >> a.txt
使用ps命令查看正在运行的进程状态
# 查看所有进程
ps -ef
# 搜索某个进程 -> 如搜索java
ps -ef | grep java
使用top命令查看进程状态,同时可以看到CPU和内存状态
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PDXkVEoW-1627308790016)(https://cdn.nlark.com/yuque/0/2021/png/21624728/1627307080674-f30a7433-fd9a-455f-9daa-941d2a00f696.png)]
Linux系统中的权限
使用命令 ls -l,就可以显示文件和目录的所有信息
此时可以看到最左侧有一串字符
-rw-r–r--
drwxr-xr-x 2
这就是Linux中的权限,仔细数数,该字符可以划分为 十位,而这十位数组又分为了4组,每组表达的意义不一样。
— rw- r-- r–
文件类型 用户的权限 用户组的权限 其他用户权限
- 第一位中的 ’-‘表示是文件,'d’表示是文件夹
- r:read,表示读
- w: write,表示写
- X:execute ,表示可执行
# 改变a.txt的文件类型为只读
chmod u=r a.txt
# 改变a.txt的文件类型为可读可写,组用户和其他用户只读
chmod u=rw,g=r,o=r
快捷更改权限的方式:
r:可用数字4表示
w:可用数字2表示
x:可用数字1表示
# 改变a.txt的文件类型为可读可写,组用户和其他用户只读
chmod 644 a.txt
# 6表示4+2,及用户可读可写,4表示可读,表示用户组和其他用户可读
管道的概念
管道是Linux命令中一个概念,其作用是将一个命令的输出用作另一个命令的输入。
如我们使用 ps -ef
查看进程,但是进程的内容实在太多,因此我们可以使用grep命令来搜索自己想要的内容
使用管道的重要字符就是: |
# 搜索java进程
ps -ef | grep java
# 查看ls --help ,并且使用more分页查看
ls --help | more