Linux常用基础命令

一、系统目录结构

约定俗成:

  bin (binaries)存放二进制可执行文件

  sbin (super user binaries)存放二进制可执行文件,只有root才能访问

  etc (etcetera)存放系统配置文件

  usr (unix shared resources)用于存放共享的系统资源

  home 存放用户文件的根目录

  root 超级用户目录

  dev (devices)用于存放设备文件

  lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块

  mnt (mount)系统管理员安装临时文件系统的安装点

  boot 存放用于系统引导时使用的各种文件

  tmp (temporary)用于存放各种临时文件

  var (variable)用于存放运行时需要改变数据的文件

二、基本命令

1.目录操作

相对路径和绝对路径说明:

现在在/home/dijia478/下

./a/b.txt和a/b.txt都表示相对路径,当前目录下的a文件夹下的b.txt文件

/home/dijia478/a/b.txt表示绝对路径,根目录下的home文件夹下的dijia478文件夹下的a文件夹下的b.txt文件

cd ./a 切换到当前目录的a文件夹
cd ..  切换到上一层目录
cd /  切换到系统根目录
cd ~  切换到用户主目录
cd -  切换到上一个所在目录

pwd  显示当前所在目录的绝对路径

2.查看文件列表

ls /path/显示该目录所有文件或文件夹名
ls -a  显示所有文件或文件夹名(包含隐藏的)
ls -l  按列表显示所有文件或文件夹,缩写成ll

ll -h  友好的显示文件大小(显示成K,MB,GB)

3.创建和删除文件夹

mkdir app  创建app文件夹
mkdir –p app2/test  级联创建aap2以及test文件夹

rmdir app  删除app目文件夹(需要是空文件夹)

4.文件操作

rm a.txt  删除a.txt文件,删除需要用户确认,y/n
rm -f a.txt  不询问,直接删除a.txt文件
rm -r a  递归删除a文件夹(无论是否有内容)
rm -rf a  不询问递归删除a文件夹(慎用)
rm -rf *  删除当前目录下所有内容(***别用)
rm -rf /*  no 作 no die(Linux系统就玩完了)

cp a.txt b.txt  将a.txt复制为b.txt文件
cp a.txt ../  将a.txt文件复制到上一层目录中

mv a.txt ../  将a.txt文件移动到上一层目录中
mv a.txt b.txt  将a.txt文件重命名为b.txt

touch a.txt  创建一个空的a.txt文件
echo “good good study” > a.txt  把”>”左边的输出内容放到右边的文件里去,如果存在就覆盖,如果不存在就创建
vi a.txt  用文本编辑器编辑一个文件,如果不存在就创建

5.文件打包归档和压缩

tar -cvf file.tar dirpath filepath  将dir文件夹和file文件在当前目录下打包成file.tar
tar –xvf file.tar  解包到当前目录

gzip file.tar  压缩文件或文件夹
gzip –d file.tar.gz  解压文件或文件夹

tar -czvf file.tar.gz dirpath filepath  将dir文件夹和file文件在当前目录下打包并压缩成file.tar.gz
tar -xzvf file.tar.gz  解压并解包到当前目录下
tar -xzvf file.tar.gz -C /home/dijia478/  解压并解包到/home/dijia478/目录下

常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件

zip test.txt.zip test.txt  也是打包并压缩
unzip test.txt.zip  解包并解包

6.查看文本文件

cat a.txt  一次性显示整个文件内容
more a.txt  可以分页看(翻页:空格,往回翻:b ,退出: q或者 Ctrl+C)
less a.txt  不仅可以分页,还可以方便地搜索,回翻等操作(翻页:空格,往回翻:↑,往下翻:↓,退出:q或者 Ctrl+C)

tail -10 a.txt  查看文件的尾部的10行
tail -f user.log  实时刷新显示文件的尾部,这条命令对于观察调试程序的运行非常重要

head -20 a.txt  查看文件的头部20行
注:ctrl+c 结束查看

7.搜索查找命令

grep‘haha’./*  打印当前目录下所有文件中含有’haha’的地方(支持正则表达式)
grep -c‘haha’./*  显示匹配到的行数
grep -r‘haha’./*  对子目录也进行遍历搜索
grep -l‘haha’./*  只显示命中的文件名
grep -n‘haha’./*  显示命中的行号
grep -ld skip‘haha’./* 显示命中的文件名,不要搜索子目录

参数含义:
-r 递归搜索子目录
-l 只列出有匹配行的文件名
-n 列出匹配行的行号
-d skip 不搜索子文件夹

常用grep跟其他命令组合使用来查找我们关心的信息(管道)
示例:
service –status-all | grep ‘httpd’  在当前系统所有服务中查找’httpd’
netstat -nltp | grep ’22’  查找监听’22’端口的服务程序
ps –ef | grep java  查找系统中当前运行的java进程

find ./ -name ‘*.txt’  查找以.txt结尾的文件(会遍历当前目录)
find ./ -name ‘install*’  查找以install开头的文件或文件夹
find ./ -type f  查找普通文件
find ./ -type l  查找连接文件(快捷方式)

8.文本命令

> 重定向输出,覆盖原有内容;
>> 重定向输出,又追加功能;
cat /etc/passwd > a.txt  将密码文件输出定向到a.txt中
cat /etc/passwd >> a.txt  输出并且追加
ifconfig > ifconfig.txt  保存ip信息到文件中

wc -l a.txt  统计文本行数
wc -w a.txt  统计文本单词数
wc -m a.txt  统计文本字符数
wc -c a.txt  统计文本字节数

vi编辑器
vi filepath  打开文件
按Esc键  切换到命令行模式
切换到插入模式:
i  在当前位置生前插入
I  在当前行首插入
a  在当前位置后插入
A  在当前行尾插入
o  在当前行之后插入一行
O  在当前行之前插入一行
dd  删除整行
7 dd  向上删除7行
U  回退(类似于windows 中 ctrl + z)
R  替换
:(冒号)  切换到底行模式
:q  退出
:wq  保存并退出(shift + zz也可以保存)
:q!  不保存退出

9.其他常用命令

date “+%Y%m%d”  按格式显示时间
date -s “2020-12-20 10:56:00”  设置时间

echo $JAVA_HOME  输出变量JAVA_HOME的值

whoami  查询当前登陆的用户名
which ls  查询ls命令的$PATH路径

mkdir test && cd test
只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。 
只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。

版权声明:本文由lzhuji.com主机评测所有
文章名称:《Linux常用基础命令》
文章链接:https://www.lzhuji.com/1702.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

本站不对信息的真伪做任何的保障,请自行甄别,自负责任。

登录

找回密码

注册