这里汇总了下Linux环境下常用的Linux命令,多数命令几乎每天都会用到, 本文汇总的所有命令是基于 Ubuntu 发行版, 但是多数命令在大多数Linux上皆可使用, 包括Unix, 甚至Mac OSX.

目录浏览

命令描述
ls查看当前目录下的所有文件和目录
ls -al类似 ls, 以列表形式显示当前目录下的所有文件和目录, 包括隐藏文件
ls -al & grep string查询匹配string的文件和目录
cd directory_path切换到 directory_path
cd切换到用户根目录 $HOME
cd ..切换到上级目录
pwd查看当前所在目录路径

上述命令多数都支持根上目录路径或者文件路径, 比如 ls /usr/local/bin, 其他更多命令参数,参看下 man page, 比如 man ls.

文件和目录操作

命令描述
touch filename创建新的filename文件,或者如果文件存在更新filename的时间戳
rm filename删除一个文件
rm -r dirname递归的删除目录及目录下的内容
cp filename new_filename拷贝一个文件
cp -r dirname new_name拷贝一个目录
mkdir new_dir_name创建一个目录
rmdir dirname删除一个目录, 目录下内容必须为空
mv filename new_name重命名一个文件 或者 移动文件到一个新的路径
du -sh dirname查看目录空间大小

查看文件内容

| 命令 | 描述 |
| ------------------------------| ------------------------------------------------ |
| cat filename | 查看文件内容 |
| cat filename & more | 分页显示文件内容, Ctrl + d 下一页, Ctrl + b 上一页 |
| vi filename | 查看文件内容, Ctrl + d 下一页, Ctrl + b 上一页 |
| head filename | 查看文件头几行, 默认是开始10行 |
| tail filename | 查看文件最后几行, 默认是最后10行 |
| tail -f filename | 查看文件最后几行, 默认是最后10行, 区别是对于实时变动的文件,实时更新最新内容 |
| file filename | 查看文件类型 |

查找命令

命令描述
type cmd显示命令是内置程序/独立程序还是命令别名,比如 type kill, 显示kill命令是shell内置命令
which cmd显示命令的完整路径,
man cmd查看命令帮助文档
apropos string搜索帮助文档
locate filename根据文件名定位文件, 该命令类似 find dir_path --name "*filename*", 但locate更快
updatedb更新locate使用的索引数据库

shell通过搜索 $PATH 变量来查找可执行文件, 执行 echo $PATH 可以看到当前的搜索的所有路径,搜索顺序也是按照 $PATH 变量中的路径顺序.当然要作为可执行程序搜索, 对应的目标文件必须要有可执行权限 x, ls -l /usr/bin 可以看到对应常规命令的权限信息.

安装新的软件程序和包管理

下述命令是基于Ubuntu整理, 其他发行版都有独立的包管理工具,比如 CentOS 的 yum, Gentoomerge, FreeBSD 的 port.

命令描述
apt-cache search name按名称搜索软件包
apt-cache show name查看软件包的详细信息
apt-get install name安装软件包
apt-get remove name删除/卸载软件包
apt-get purge name删除/卸载软件包,保罗其配置文件
dpkg -l查看所有已经安装的软件包
apt-get update从镜像源同步软件包的索引信息
apt-get upgrade更新所有以安装的软件包到最新版本
apt-get dist-upgrade更新整个发行版, Ubuntu的跨版本升级

上述命令是操作的预编译的软件包, 某些软件包是以源码形式发布,需要手动编译安装, 常规步骤如下:

gzip -d filename.tar.gz
tar xvf filename.tar

cd dirname
./configure
make
sudo make install # 一般这一步是将二进制可执行文件安装到 /usr/local/bin

存档和压缩(tar/gzip)

命令描述
tar cvf new_filename.tar dirpath归档一个目录
tar xvf filename.tar将tar文件展开到当前目录
zip -r new_filename.zip dirname归档并压缩目录到一个文件
unzip filename解压并扩展到当前目录

进程管理

命令描述
ps -ef查看运行中的进程
ps -ef & grep name根据关键字搜索进程
kill pid发送给进程一个退出信号,以便进程退出
kill -s 9 pid强制关闭进程
top实时查看进程监控信息, 按q退出
pstree展示主子进程关系

系统管理员常用命令

命令描述
sudo command_string以系统管理员(root)身份执行 command_string 命令
su切换到系统管理员(root)
sudo su root切换到系统管理员(root)

susudo su root 区别是 su 需要知道root用户密码, 而 sudo su root 仅需要当前用户密码, 当前用户有 sudo 权限即可.

命令描述
chmod 664 filename改变文件权限, 644 = rw-rw-r--, 一般文件权限即为644
chown user_name filename切换文件的拥有者
chgrp group_name filename改变文件所属用户组信息
ln -s new_path existing_path构建一个软件链接
ln new_path existing_path构建一个硬链接,硬链接使2两个文件同时指向文件系统的相同索引
shutdown -r 0 or shutdown -P 0重启系统 或者 关闭系统

用户和用户组:

命令描述
useradd user_name创建一个新用户
passwd user_name更新用户密码
id user_name查看用户 ID, 以及该用户从属的所有用户组
cat /ect/passwd查看所有用户
getent group查看所有用户组
命令描述
date查看系统日期和时间
date --rfc-3339=secondsyyyy-mm-dd hh:mm:ss-07:00格式查看UTC时间
w查看所有已登录的用户
who -a查看最近登录的用户
uptime查看系统运行时长
wc查看字符/单词/行数统计信息, 一般配合 cat grep使用
命令描述
source fname执行 fname, 等价于 . fname
bash开启一个新的bash进程, Ctrl + d 退出该bash
echo $PATH查看 $PATH 环境变量
env查看所有环境变量
alias str="cmd";给命令添加一个别名, 例如 `alias l="ls -la --color"

【腾讯云】境外1核2G服务器低至2折,半价续费券限量免费领取!
https://cloud.tencent.com/act/cps/redirect?redirect=1068&cps_key=e4b50f6c64a4480367f8a8d16fd07c5a&from=console

标签: shell, 命令行, command, 终端使用教程

添加新评论