1.在Linux系统中,文件/目录的不同颜色也代表着不同的含义,通常有如下几种颜色:
- 白色:表示普通文件,如文本文件,配置文件,源码文件等
- 蓝色:表示文件夹
- 绿色:表示可执行文件
- 红色:表示压缩文件或者包文件
- 浅蓝色:表示链接文件,主要是使用 ln 命令建立的文件
- 红色闪烁:表示链接的文件有问题
- 黄色:表示设备文件
- 灰色:表示其它文件
/ | 位于目录结构的最顶层,类似于Windows的 c:,包含Linux的所有的目录文件。 |
---|---|
/bin | /bin目录又叫二进制目录,包含使用的Linux命令的二进制映像。存放各种可执行文件。 |
/boot | boot存放系统核心文件,和启动读取的文件 |
/dev | 保存着外部设备代码的文件,这些文件比较特殊,实际上它们都指向所代表的外围设备,如终端、磁盘驱动器、光驱、打印机等。你可以访问这些外部设备,与访问一个文件或一个目录没有区别 |
/etc | 目录是整个Linux系统的中心,其中包含所有系统管理和维护方面的配置文件,如dhcpd.conf、host.conf、logrotate.conf、man.config、mke2fs.conf、modprobe.conf、resolv.conf、sysctl.conf、syslog.conf(或rsyslog.conf)、xinetd.conf和yum.conf等其他的配置文件分别位于单独的子目录中。 |
| |
/lib | 目录下存放必要的运行库,主要是编程语言的库。典型的 Linux 操作系统中包含了C、C++和 Fortran 的库文件。用这些语言开发的应用程序可以使用这些编程语言库文件。这使软件开发者能够利用那些预先写好并通过测试的函数。 |
/mnt | 该目录是默认的文件系统临时装载点,这是一个通用的安装点,可以临时安装任何文件系统或远程资源。系统管理员执行mount命令完成装载工作。在系统中,该目录包含了光驱、磁盘和软驱的挂载点。 |
/proc | 进程文件系统proc的根目录,其中的部分文件分别对应正在运行的进程,可用于访问当前进程的地址空间。它是一个非常特殊的虚拟文件系统,其中并不包含“实际的”文件,而是可用以引用当前运行系统的系统信息,如CPU、内存、运行时间、软件配置以及硬件配置的信息,这些信息是在内存中由系统自己产生的。 |
/opt | 目录用来安装附加软件包,用户调用软件包程序放在目录/opt/package_name/bin下,package_name是安装软件包的名称。 |
/root | 超级用户root的主目录(在Linux系统中,斜杠字符“/”是整个系统的根目录,而非超级用户的主目录。) |
/usr | /usr:这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录. |
| |
/var | /var 用于存放很多不断变化的文件,例如日志文件等。包含了日志文件、计划性任务和邮件等内容。 |
| |
2.文件操作:
进入 / 文件下:
cd /
pwd代表显示当前目录路径
pwd
mkdir新建目录,创建文件夹
创建名为test的目录(文件夹)
mkdir test
在test文件夹下面,在创建log的目录
mkdir test/log
在test文件夹下在分别创建testA 和testB 两个文件目录
mkdir -p /test/testA /test/testB
cd 切换工作目录
进入/test/log
cd /test/log
回到上一层
cd ..
回到上两层
cd ../..
touch创建文件,创建一个**.**的文件
创建一个mytest.txt的文件
touch mytest.txt
创建两个分别叫testA和testB的txt文件
touch testA.txt testB.txt
ls 显示目录的内容,查看当前文件夹下的所有的文件
查看当前的文件夹内所有文件的具体属性(权限、所有者、文件大小、日期)
ls -l
查看当前文件目录下的所有以test开头的文件(testA、testB)
ls -l test*
mv对当前目录下的目录和文件进行移动和重命名
重命名文件
mv A B
将当前目录下的testA.txt移动到/test/testA目录下
mv testA.txt /test/testA
将当前的testB.txt移动到/test/testB目录下,并且重命名为testBBB.txt
mv testB.txt /test/testB/testBBB.txt
将testA.txt和testBBB.txt文件重新移回/test/log文件夹下(一起写,但是会一个一个移动,错误不回滚)
mv /test/testA/testA.tx /test/testB/testBBB.txt -t /test/log
cp 复制文件或者目录
将/test/log目录下的文件 testA.txt 复制到 /test/testA 目录下
cp /test/log/testA.txt /test/testA
将/test/log目录复制到/test/testA目录下
cp -r /test/log /test/testA
tar 打包、压缩、备份
将mytest.txt打包,(不压缩),为log_test.tar
tar -cvf log_test.tar mytest.txt
将本文件夹下的 mytest.txt、testA.txt、testBBB.txt 合并打包并且压缩到log_all.tar.gz
tar -zcvf log_all.tar.gz mytest.txt testA.txt testBBB.txt
解压缩log_test.tar(不压缩的)
tar -xvf log_test.tar
解压缩log_all.tar.gz(压缩后的)
tar -zxvf log_all.tar.gz
rm删除文件或者目录
删除文件,有删除确认
rm /test/testB/mytest.txt
强删文件,无删除确认
rm -f /test/testB/mytest.txt
强删目录,无删除确认(慎用)
rm -rf /test/log
3.端口查看:
查看当前占用端口命令
netstat -tanlp
杀死进程,不是杀死端口,而是pid的端口
kill ****进程(自己的pid端口)
4.文件查看:
查看正在运行的docker ,
docker ps
查看本及所有的docker,不仅仅是正在运行的
docker ps -a/docker containter ls -a
如果状态是exited,查看容器启动日志
docker logs ****(containterID)
如果是exited则说明,容器没run起来。此时需要重新用配置文件构建Docker容器,然后再run一遍。
docker containter start *****(containterID)
查看文件的内容
cat /test/log/**.txt
查看文件内容,带上行号
cat -n /test/log/**.txt
从下向上查看文件内容
tac -n /test/log/*.txt
每次显示一屏的文件内容:(Space 空格键:显示下一屏内容 B键:显示上一屏内容 Enter 键:显示文本的下一行内容 Q键:退出more命令)
more /test/log/*.txt
定位到关键字:输入 more命令后 再输入“/**(/关键字)”
more /test/log/*.txt
/**
less命令和more差不多,可以使用上下左右键,不会主动退出,输入Q
less *.txt
显示文件开头的5行
head -n 5 **.txt
显示文件末尾5行
tail -n 5 **.txt
5.grep文本搜索工具:
查看带有关键字* 的所有的行内容
grep [关键字] [文件]
查看带有关键字* 的前两行和后两行数据
grep -A 2 -B 2 [关键字] **.txt
统计含有关键字* 的内容的行数
grep -c "**" /test/log/**.txt
查看带有关键字的行号
grep "关键字" -n /test/log/**.txt
查看前50行,带有关键字docker 的日志
head -n 50 /test/log/linux_test.log | grep docker
实时刷新带有关键字docker的日志内容,(服务器上日志是实时刷新的)
tail -f /test/log/**.log | grep docker
显示文件的10-15行数据,并且将docker关键字高亮显示
head -n 10 **.log | tail -n 15 | grep [关键字]
6.find再指定目录下查找文件:
查找当前目录下的所有目录
find - type d
查找当前目录下的所有文件
find -type -f
查找当前目录和子目录中拓展名为“.log”的文件
find . -name "*.log"
7.xargs 给其他命令传递参数的过滤器
查看当前目录下所有文件中含有[关键字]的内容
find ./ -type f | xargs grep "关键字"
查看当前目录30天以前的内容并且删除他们
find ./ -mtime +30 -print | xargs rm -rf
查询日志文件中最后两行匹配字段的数据:
grep -n '/kjg/appointment/' access.log | tail -2
实时查询日志文件的匹配字段:
tail -f access.log | grep "/kjg/appointment/"
查询所以匹配字段的日志:
cat access.log | grep "/kjg/appointment/"
8.vim文本编辑
编辑**.txt,按下 i 进入编辑模式
vim **.txt
在任何情况先按键盘上面的ESC按键,接着按冒号:q 回车即可退出
编辑完成,输入:wq,保存文件并且退出
:wq
输入 :q 只是退出
:q
输入 :q! 强制退出,数据丢失
:q!