Linux 常用命令简单介绍 — 基础篇

科学上网 - IYIO.NET

很多新手在接触Linux的初期,都会因为习惯了 Windows的可视化操作而不适应 Linux纯命令行的操作,一些基础的 Linux命令都要去百度谷歌查询,这样很浪费时间,所以我就简单整理一些 Linux基础命令提供给新手理解,以后或许还会有进阶篇、高级篇

这篇文章,不仅仅是写给新手学习的,也是写给我学习Linux的,我在写这篇文章的时候,也是在学习和了解这些基础命令,同时留着以后备忘。

包管理器

apt-get Debian/Ubuntu系统包管理器

apt-get 是Debian/Ubuntu系统中 一个用于快速下载/安装的简单命令行管理工具!

参数介绍:

# 命令:
update - 检索 新的包列表
upgrade - 升级 可更新的所有软件包
install - 安装 新软件包(pkg是libc6不是libc6.deb)
remove - 删除 软件包
autoremove - 自动删除 所有未使用的软件包
purge - 删除 软件包和配置文件
clean - 清除 已下载的归档文件
autoclean - 清除 旧的下载的档案文件
check - 验证 是否有损坏的依赖
download - 下载 二进制包到当前目录
 
# 选项:
-q :不输出任何信息
-qq :除了错误之外,没有输出
-d :仅下载,不要安装或解压缩存档
-y :对所有确定询问都选择 Yes,并且不提示
-f :尝试纠正 被破坏依赖关系的系统
-m :如果存档是可定位的,则尝试继续
-u :显示升级包的列表
-b :在获取源代码包后构建源包
 
# 更多的命令可以用 apt-get --help 查看。

使用示例::

# 检索 新的包列表
apt-get update
 
# 升级 可更新的所有软件包(注意这个命令会升级所有的软件包,所以会升级很长时间)
apt-get upgrade
 
# 安装 Nginx 软件包
apt-get install nginx
 
# 卸载 Nginx 软件包
apt-get remove nginx
 
# 卸载 Nginx 软件包 并删除所有相关配置文件
apt-get remove --purge nginx
 
# 在安装软件和卸载的时候,为了避免误操作,都会询问是否继续,每次都要输入 y 来确定会很麻烦,可以加上 -y 参数
# 安装 Nginx 软件包 并不显示确定提示
apt-get install nginx -y
 
# 卸载 Nginx 软件包,删除所有相关配置文件 并不显示提示
apt-get remove --purge nginx -y
 
# 清除 旧的/无用 的软件包
apt-get clean && apt-get autoclean
 
# 下载 Nginx 二进制软件包到当前目录,但不解压和安装
apt-get download nginx -d
 
# 更多的命令可以用 apt-get --help 查看。

yum CentOS系统包管理器

yum 是CentOS系统中 一个用于快速下载/安装的简单命令行管理工具!

参数介绍:

# 命令:
 
update - 检索 新的包列表
upgrade - 升级 软件包
search - 搜索 软件包
install - 安装 软件包
list - 列出 软件包或者软件包组
info - 显示软件包或者软件包组的详细信息
erase - 删除 软件包(这两个命令一样)
remove - 删除 软件包(这两个命令一样)
groupinfo - 显示 有关包组的详细信息
groupinstall - 安装 软件包组(就像一种软件合集)
grouplist - 列出 可用的软件包组
groupremove - 删除 软件包组
check - 检查 软件包
check-update - 检查 可更新的软件包
clean - 清除 缓存目录内的软件包
deplist - 列出 一个包的依赖关系
distribution-synchronization - 同步 已安装的软件包到最新的版本
downgrad - 降级 一个软件包
reinstall - 重新安装 软件包(自动删除重装)
repolist - 显示 配置的软件包仓库
resolvedep - 确定 软件包需要的依赖关系
 
# 选项:
-t :容忍错误
-C :完全从系统缓存运行,不要更新缓存
-R 分钟 :最大命令等待时间
-q :安静的操作
-y:对于所有问题回答是
--nogpgcheck :禁用gpg签名检查
 
# 更多的命令可以用 yum --help 查看。

使用示例:

# 检索 新的包列表
yum update
 
# 安装 Nginx 软件包
yum install nginx
 
# 安装 Development Tools 软件包组(这个软件包组中包含了编译所需的软件)
# 注意:当软件包或者软件包组的名字中包含空格的时候,请把 软件包或软件包组 加上双引号!
yum groupinstall "Development Tools"
 
# 卸载 Nginx 软件包
yum erase nginx / yum remove nginx
 
# 卸载 Development Tools 软件包组
yum groupremove "Development Tools"
 
# 升级 所有可更新的软件包
yum upgrade
 
# 升级 Nginx 可更新的软件包
yum upgrade nginx
 
# 在安装软件和卸载的时候,为了避免误操作,都会询问是否继续,每次都要输入 y 来确定会很麻烦,可以加上 -y 参数
# 安装 Nginx 软件包 并不显示确定提示
yum install nginx -y
 
# 卸载 Nginx 软件包 并不显示确定提示
yum erase nginx -y / yum remove nginx -y
 
# 搜索 Nginx 软件包是否存着
yum search nginx
 
# 列出 可用的软件包
yum list
 
# 列出 可用的软件包组
yum grouplist
 
# 清除 缓存目录中的所有软件包
yum clean
# 清除 缓存目录中的 Nginx 软件包
yum clean nginx
 
# 重装 Nginx 软件包
yum reinstall nginx
 
# 更多的命令可以用 yum --help 查看。

文件/文件夹 操作

以下除特殊说明,都以当前目录为 /root 示例。

mkdir 新建 文件夹

# 在当前文件夹新建一个 bash 文件夹,完整的绝对路径就是 /root/bash
mkdir bash
 
# 更多的命令可以用 mkdir --help 查看。

cd 进入 文件夹

# 你当前在 /root目录中,使用这个命令会进入 /root/bash目录,这是相对路径
cd bash
# 如果你不在 /root目录中的话,就不能用上面的相对路径了,就需要绝对路径
cd /root/bash
—————————————————————————————————————
# 假设你当前在 /root/bash目录中,使用相对路径,你可以用这个命令进入上一级 /root目录, .. 代表相对路径 上级目录
cd ..
# 当然你也可以用绝对路径来进入上一级 /root目录
cd /root

cp 复制或重命名 文件/文件夹

# 复制当前目录内的 log.txt文件到 /var目录
cp log.txt /var/log.txt
 
# 复制当前目录内的 bash文件夹到 /home目录
cp -R bash /home/bash
—————————————————————————————————————
# 复制当前目录内的所有.txt后缀的文件到 /var/log目录
cp *.txt /var/log
 
# 复制当前目录内的所有以 doubi开头的文件到 /var/log目录
cp doubi* /var/log
 
# 复制当前目录内的所有以 doubi开头 以.txt后缀结尾的文件到 /var/log目录
cp doubi*.txt /var/log
—————————————————————————————————————
# 假设当前目录是 /root/doubi/log,要把这个目录中的所有.txt后缀的文件复制到上一级目录 /root/doubi,那么这样做
cp *.txt ..
 
# .. 就是相对路径,代表上一级目录,当然你也可以用绝对路径,这样更不容易出错
cp *.txt /root/doubi
—————————————————————————————————————
# 重命名当前目录内的 log.txt文件为 log2.txt
cp log.txt log2.txt
 
# 复制当前目录内的 log.txt文件到 /var目录并重命名为 log1.txt
cp log.txt /var/log1.txt
 
# 复制当前目录内的 bash文件夹到 /home目录并重命名为 bash2
cp -R bash /home/bash2
—————————————————————————————————————
# 复制当前目录内的 log.txt文件到 /var目录,但是 /var 目录中已经存着 log.txt,那么会提示 cp: overwrite `/var/log.txt'? 可以用 -f 强制覆盖
cp -f log /var/log.txt
 
# 大家可能会发现,当你使用 cp -f 强制覆盖的时候,依然会询问你是否覆盖,这是因为 CP 为了避免你手误,默认加上了 -i 参数(该参数代表每次覆盖必须询问)。
# 所以想要避免 CP 默认的 -i 参数,只需要在 CP 命令前面加上斜杠即可 “/”
/cp -f log /var/log.txt
 
# 复制当前目录内的 log.txt log1.txt log2.txt文件和 log233目录到 /home/log目录中
cp -R log.txt log1.txt log2.txt log233 /home/log
 
# 更多的命令可以用 cp --help 查看。

mv 移动或重命名 文件/文件夹

# 关于 mv 命令,可以参考上面 cp 的使用方法,没什么区别,只是一个是复制,一个是移动,把上面 cp 命令改成 mv 就能套用了。
 
# 移动当前目录内的 log.txt文件到 /var目录
mv log.txt /var/log.txt
 
# 移动当前目录内的 bash文件夹到 /home目录
mv bash /home/bash
—————————————————————————————————————
# 重命名当前目录内的 log.txt文件为 log2.txt
mv log.txt log2.txt
 
# 复制当前目录内的 log.txt文件到 /var目录并重命名为 log1.txt
mv log.txt /var/log1.txt
 
# 复制当前目录内的 bash文件夹到 /home目录并重命名为 bash2
mv bash /home/bash2
 
# 更多的命令可以用 mv --help 查看。

rm 删除 文件/文件夹

# 删除当前目录下的 log.txt文件
rm log.txt
 
# 删除当前目录下所有.txt后缀的文件
rm *.txt
 
# 使用 rm 命令删除时,会提示你是否确定删除,输入 y 即删除,输入 n 则取消
# rm: remove regular file `log.txt'? y
—————————————————————————————————————
# 删除当前目录下所有.txt后缀的文件
rm *.txt
 
# 删除当前目录下所有以 doubi开头的文件
rm doubi*
 
# 删除当前目录下所有以 doubi开头 以.txt后缀结尾的文件
rm doubi*.txt
—————————————————————————————————————
# 当你用 rm 删除目录的时候会发现提示这不是一个文件
# rm bash
# rm: cannot remove `bash': Is a directory
# 可以加上 -r 来归递删除目录及其目录下的内容
rm -r bash
—————————————————————————————————————
# 因为为了避免手误删除错误,所以 rm默认是加上了 -i 的参数,也就是每一次删除文件/目录都会提示,如果觉得烦可以用 -rf 参数
rm -rf bash
 
# rm -rf 这个命令请慎重使用,而且千万不要使用 rm -rf / 或者 rm -rf /* 之类的命令(系统自杀),可能会让你系统爆炸,所以使用请慎重!
 
# 更多的命令可以用 rm --help 查看。

查看/编辑文件 操作

ls 显示目录中文件

# 显示当前目录下的所有文件
ls -a
—————————————————————————————————————
# 命令后面加上 绝对路径/相对路径 就会显示指定文件夹内的所有文件
ls -a bash/log
 
# 相对路径,当前目录是 /root ,欲查看的目录是 /root/bash/log
ls -a /root/bash/log
 
# 绝对路径, 当前目录是 /root ,欲查看的目录是 /root/bash/log
 
# 更多的命令可以用 ls --help 来查看。

du 查看 文件/文件夹 占用磁盘空间的大小

参数介绍:

-h :以人类易读的方式显示
-a :显示 目录占用的磁盘空间大小,并显示其下目录和文件占用磁盘空间的大小
-s :显示 目录占用的磁盘空间大小,但不显示其下子目录和文件占用的磁盘空间大小
-c :显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
--apparent-size:显示目录或文件自身的大小
-l :统计硬链接占用磁盘空间的大小
-L :统计符号链接所指向的文件占用的磁盘空间大小
# 待写...
 
# 更多的命令可以用 du --help 来查看。

使用示例:

# 假设当前位于 /root 目录下,则显示 /root 文件夹的大小,但不显示其子目录和文件的大小
du -sh
 
# 假设当前位于 /root 目录下,则显示 /root 文件夹的大小,并显示其子目录和文件的大小
du -ah
 
# 假设当前位于 /root 目录下,则显示 /root 文件夹下的所有文件夹的大小及其总和
du -lh --max-depth=1
 
# 更多的命令可以用 du --help 来查看。

cat 查看文件内容

假设 log.txt文件的内容为:

doubi233
doubi
 
 
doubi666
 
doubi2366
doubi8888

查看文件:

# 查看 log.txt文件的所有内容
cat log.txt
# 输出示例如下
doubi233
doubi
 
 
doubi666
 
doubi2366
doubi8888
 
# 查看 log.txt文件的所有内容,并对所有行编号
cat -n log.txt
# 输出示例如下:
     1	doubi233
     2	doubi
     3	
     4	
     5	doubi666
     6	
     7	doubi2366
     8	doubi8888
 
# 查看 log.txt文件的所有内容,并对非空行编号
cat -b log.txt
# 输出示例如下:
     1	doubi233
     2	doubi
 
 
     3	doubi666
 
     4	doubi2366
     5	doubi8888
 
# 查看 log.txt文件的所有内容,并对非空行编号,且不输出多行空行
cat -bs log.txt
# 输出示例如下:
     1	doubi233
     2	doubi
 
     3	doubi666
 
     4	doubi2366
     5	doubi8888

清空文件:

# 清空当前目录中的 log.txt 文件
cat /dev/null > log.txt
 
# 清空 /var目录中的 log.txt 文件
cat /dev/null > /var/log.txt

写入文件:

# 写入文本到当前目录中的 log.txt文件中(加入文本到文件内容最后)
cat >> log.txt <<-EOF
doubi
doubi233
doubi666
EOF
 
# 清空文件并写入文本到 /var目录中的 log.txt文件中(先清空后写入)
cat > /var/log.txt <<-EOF
doubi
doubi233
doubi666
EOF
 
# 更多的命令可以用 cat --help 来查看。

head 查看文件内容(主要用于正查)

参数介绍:

 

发表评论

© IYIO.NET. All rights reserved. Developed by IYIO.NET