原文网址:Linux--命令大全--常用命令--历史/目录/文件/输出/权限/版本信息_IT利刃出鞘的博客-CSDN博客
简介
本文介绍Linux的一些常用命令。包括:查看历史命令、目录、文件、输出、权限、版本信息。
history
作用
显示历史命令
示例
history 10 //显示最近10条命令
参数 |
含义 |
n |
打印最近n条命令 |
-c |
清空当前历史命令(缓冲区); |
-a |
将历史命令缓冲区中命令写入历史命令文件中; |
-r |
将历史命令文件中的命令读入当前历史命令缓冲区; |
-w |
将当前历史命令缓冲区命令写入历史命令文件中; |
-d<offset> |
删除历史记录中第offset个命令 |
-n<filename> |
读取指定文件 |
注意事项
history -c只是清除了当前缓冲区的历史命令。当 Shell 退出时,就不会有历史命令追加到文件 .bash_history 中。但当重新登录到 Shell 时,Shell 便会加载文件 .bash_history,该文件中存储着曾经输入的历史命令,因此,系统的历史命令就又出现了。
解决方法:history -c; history -w
简单命令
目录命令
命令 |
作用 |
cd |
只输入cd然后回车,可以进入进入home目录(即~) |
cd - |
在最近的两个目录之间切换 |
pushddir |
将dir压栈 |
popd |
将本路径退出栈,并回到栈顶路径 |
文件命令
命令 |
作用 |
> file |
创建名为file的空文件 |
tree |
以树的形式递归显示所有文件(夹)。可以tree -L 3只显示3层文件夹 |
mkdir -p |
创建多级目录 |
ln -s /etc/a /tmp/b |
将/etc/a链接到/tmp/b。 只要/etc/a和/tmp/目录存在即可,会新生成/tmp/b。 |
ln -s /etc/a |
在当前目录新建a,并将/etc/a链接到当前目录下的a。等价于:ln -s /etc/a ./ |
ranger |
命令行浏览文件系统 |
输出命令
命令 |
作用 |
echo xxx |
打印xxx |
printf |
可像C语言一样打印信息。如:printf("%x\n",1234);(打印1234的16进制形式) |
命令运行控制
命令 |
作用 |
! |
感叹号加一个字母,执行最后一次以此字母开头的命令 |
cmd1| cmd2 ; |
在cmd1命令的结果中再执行cmd2(kernel中) |
cmd1 && cmd2; |
cmd1命令执行成功后,执行cmd2(kernel中) |
cmd1 ; cmd2; |
cmd1命令执行完成后,执行cmd2(u-boot或kernel中) |
ctrl+z |
暂停应用程序 |
权限控制
命令 |
作用 |
whoami |
查看本用户是什么:是root还是哪个user |
su liu |
切换到liu用户。如果只用su,默认切换到root |
groups |
查看本用户在哪个组。idliu也可以。 |
启动命令
命令 |
作用 |
reboot; |
内核重启命令 |
shutdown -c |
取消关机。还可以试试pkill shutdown |
其他
命令 |
作用 |
ldd; |
列出可执行文件所依赖的动态库。如:lddhello |
reset; |
u-boot重启命令 |
setenv bootargs |
清除环境变量(以bootargs为例) |
setenv bootargs '...' |
环境变量很长时用单引号 |
版本命令
其他网址
查看Linux发行版的名称及其版本号 - CoruageHe的个人空间 - OSCHINA - 中文开源技术交流社区
Linux 查看发行版本信息以及内核版本的方法(CentOS/Ubuntu) | OSETC TECH
发行版本
cat /proc/version
说明
适用于所有版本。
示例
[root@vps ~]# cat /proc/version
Linux version 3.10.0-514.26.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 15:04:05 UTC 2017
lsb_release
其他网址
lsb_release命令_Linux lsb_release 命令用法详解:显示发行版本信息
说明
这个命令基本适用于所有其它的linux发型版本(除了redhat和centos等) 。
centos和redhat可能没有这个命令/文件。可通过此命令查看版本:cat /etc/redhat-release
示例
lsb_release -a
也可以
cat /etc/lsb-release
结果示例:
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.3.1611 (Core)
Release: 7.3.1611
Codename: Core
说明
LSB是Linux Standard Base的缩写,lsb_release命令用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。
-v 显示版本信息。
-i 显示发行版的id。
-d 显示该发行版的描述信息。
-r 显示当前系统是发行版的具体版本号。
-c 发行版代号。
-a 显示上面的所有信息。
-h 显示帮助信息。
如果当前发行版是LSB兼容的,那么/etc/lsb_release文件中会包含LSB_VERSION域。这个域的值可以是用冒号隔开的一系列支持的模块。这些模块名是当前版本支持的LSB的模块名。如果当前版本不是LSB兼容的,就不要包含这个域。
可选的域包括DISTRIB_ID, DISTRIB_RELEASE, DISTRIB_CODENAME,DISTRIB_DESCRIPTION,它们可以覆盖/etc/distrib-release文件中的内容。注:这里的distrib要替换为当前的发行版的名字。如果存在/etc/lsb-release.d目录,会在该目录中查找文件名并作为附加的模块版本加在LSB_VERSION前面。文件/etc/distrib-release中包含了一些描述信息,用来说明应该分析哪些文件名。
一般的格式是Distributor release x.x (Codename) 注意:Debian系统中缺乏相应的描述信息(见/etc/debian-version),为了支持Debian系统,大部分信息都被加在了lsb-release文件中。
redhat和fedora系统中,还支持一个参数:-s, --short 输出简短的描述信息。
cat /etc/issue
说明
适用与大部分版本。但centos结果可能会比较奇怪:
[root@vps ~]# cat /etc/issue
\S
Kernel \r on an \m
示例
Ubuntu 18.04.3 LTS \n \l
内核版本
cat /proc/version
说明
适用于所有版本。
示例
[root@vps ~]# cat /proc/version
Linux version 3.10.0-514.26.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 15:04:05 UTC 2017
uname -a
说明
适用于所有版本。
示例
[root@localhost ~]# cat /proc/version
Linux version 2.6.32-696.16.1.el6.x86_64 (mockbuild@c1bl.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) ) #1 SMP Wed Nov 15 16:51:15 UTC 2017