实用且全面的Linux常用命令总结

Linux常用命令总结

一、Linux简介

  • Linux是一套免费使用和自由传播的类Unix操作系统,其内核(kernel)由林纳斯·托瓦兹(Linus Torvalds)编写,于1991年第一次公开。

    林纳斯·托瓦兹:
    Linus

  • Linux主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。

  • 目前市面上较知名的发行版有:Debian, Ubuntu, OpenSUSE, Fedora, CentOS, Arch Linux, RedHat等。

  • 终端命令的基本格式为:command [-options] [parameter]

    command :命令名,相应功能的英文单词或英文缩写

    [-options] :选项,可用来对命令进行控制,可省略

    parameter :参数,可以是0、1或者多个

二、Linux实用技巧

  1. 自动补全

    在终端输入命令时,首先输入文件、目录或者命令的前几个字母,然后按下Tab键,如果该命令是存在且唯一的,那么就会自动补全。如果还存在其他的以这几个字母开头的文件、目录或者命令,再次按下Tab键则会显示所有可能的情况。此外,在操作文件或目录时,在已输入的路径下按Tab键则会显示该路径下所有的文件或文件夹。

  2. 显示曾用命令

    在终端输入命令时,使用键盘的上(up)或下(down)键可以在曾经使用过的命令间来回切换,也可以查看家目录下的.bash_history文件查找曾用命令less ~/.bash_history

  3. which命令可查看执行命令的所在位置

    which vim  # 查看vim命令所在位置
    /bin/vim  # 终端输出结果
    
  4. 结束当前执行的命令Ctrl + c

  5. 清屏clear

三、文件和文件夹相关命令

1. 查看文件夹内容

ls是英文单词list的缩写,可以查看目录下的内容,是使用非常频繁的命令

ls -al /dir  # 以列表形式显示/dir目录下所有内容,包括隐藏文件
ls -hl /dir  # 以列表形式显示/dir目录下的内容,以人性化方式显示文件大小
ll /dir  # 以列表形式显示/dir目录下的内容

注:ll命令是ls -l命令的别名,功能相同。

-a: 显示所有,包括隐藏文件(文件名以.开头的文件或文件夹)
-l: 以列表的方式显示详细信息
-h: 以人性化方式显示文件大小

2. 查看文件内容

more

启动时加载整个文件,一页一页的显示文件内容,空格键(Space)下一页,b键上一页(back),回车键(Enter)下一行,q键退出

more file  # 查看文件file内容

less(常用命令)

启动时不加载整个文件,一页一页的显示文件内容,空格键(Space)下一页,回车键(Enter)下一行,PageDown键下一页,PageUp键上一页,q键退出

less file  # 查看文件file内容

headtail

head查看文件开头部分内容,tail查看文件末尾部分内容,默认显示10行内容

head -n 5 file  # 显示file文件前5行内容
tail -n 20 file  # 显示file文件最后20行内容

cat

cat是英文单词concatenate的缩写,会一次显示所有内容,可以查看文件内容、创建文件、合并文件、追加文件内容等

cat file  # 查看file文件内容
cat -n file  # 查看file文件内容,并显示行号
cat file1 file2   # 查看file1和file2文件内容
cat file1 > file2  # 将file1文件内容写入并覆盖file2文件,如果file2文件不存在则创建该文件
cat file1 file2 >> file3  # 将file1和file2文件内容追加到file3文件后面,不覆盖原内容

3. 切换目录

cd是英文单词change directory的缩写,可以切换当前工作目录

pwd  # 显示当前工作目录
cd /dir  # 切换到/dir目录
cd  # 切换到当前用户的家目录
cd ~  # 切换到当前用户的家目录
cd /  # 切换到根目录
cd .  # 保持在当前目录
cd ..  # 切换到上一级目录
cd -  #切换到上一次工作的目录

注:绝对路径是从根目录/或者家目录~开始的具体位置,最前面是用/或者~;而相对路径是相对当前目录所在的目录位置,最前面不是用/或者~

4. 新建、移动、复制和删除

tree

tree以树状图显示文件目录结构

tree  # 显示当前目录的文件目录结构
tree -d  # 只显示当前目录的目录结构,不显示文件
tree -d /dir # 显示/dir目录的目录结构,不显示文件

mkdir

mkdir是英文单词make directory的缩写,可以新建一个文件夹

mkdir dir  # 在当前目录下创建一个名为dir的文件夹
mkdir -p /dir1/dir2  # 在/dir1目录下创建一个名为dir2的子文件夹,如果/dir目录原本不存在,则创建一个

touch

touch可以新建文件或者修改文件的时间属性

touch file  # 如果file文件不存在,则新建一个名为file的空白文件;如果存在,则修改其时间属性为当前系统时间

mv

mv是英文单词move的缩写,可以移动或重命名文件和文件夹

mv file1 file2  # 将file1文件重命名为file2
mv dir1 dir2  # 将dir1文件夹名重命名为dir2
mv dir ../  # 将dir文件夹移动至上一级目录
mv /dir1/file1 /dir2/file2  # 将file1文件从/dir1目录移动到/dir2目录,并重命名为file2

cp

cp是英文单词copy的缩写,可以复制文件和文件夹

cp file1 file2  # 复制file1文件并重命名为file2
cp -r /dir1 /dir2  # 将/dir1目录递归复制到/dir2目录下
cp -r /dir1 /dir2/nwedir1  # 将/dir1目录递归复制到/dir2目录下,并重命名为newdir1
cp /dir1/file1 /dir2/file2  # 将file1文件从/dir1目录复制到/dir2目录,并重命名为file2

注:-r 选项为递归,只对文件夹有效


rm

rm是英文单词remove的缩写,可以删除文件和文件夹

rm file  # 删除file文件
rm -r dir  # 递归删除dir文件夹
rm -rf /dir/*  # 强制删除/dir目录下所有内容

四、用户和权限相关命令

1. 管理用户和用户组

详情请见:Linux系统下用户和用户组的管理


管理用户

useradd -m -g groupname newuser  # 添加新用户,-m自动创建用户家目录
passwd newuser  # 给newuser用户设置密码
userdel username  # 删除username用户

id username  # 查看username用户的UID和GID等信息
who  # 查看系统当前所有登录用户
w  # 查看系统当前所有登录用户信息
whoami  # 查看当前终端登录用户的用户名
last  # 显示用户最近登录信息

注:创建用户时如果忘记添加-m选项指定新用户的家目录,推荐删除用户后重新创建;创建用户时如果未使用-g选项,则会创建一个和用户名同名的组。用户信息保存在/etc/passwd文件夹中。


管理用户组

groupadd newgroup  # 新建一个newgroup工作组
usermod -G gruopname username  # username用户离开原来的用户组,进入groupname用户组
usermod -a gruopname username  # username用户不离开原来的用户组,直接进入groupname用户组
groupdel groupname  # 删除名为groupname的用户组

注:用户组信息保存在/etc/group文件夹中。


切换用户

su - # 默认切换到root用户,拥有执行权限以及其环境变量
su - otheruser  # 将登陆用户切换到otheruser用户,拥有执行权限以及其环境变量

注:去掉-选项则不会获得切换后用户的环境变量。

2. 管理权限

用户分类:所有者(u),同组用户(g),其他用户(o),所有用户(a)

文件权限:读(r),写(w),执行(x),没有权限(-),对应数字:r=4,w=2,x=1,-=0

文件和目录信息展示:

drwxrwxr-x 1 user user 512 May  2 13:09 dir  # 第一个d代表文件夹
-rw-rw-r-- 1 user user   0 May  2 13:09 file.txt  # 第一个-代表文件

注:例如dir文件夹,rwxrwxr-x分为三组。第一组rwx表示所有者权限,可读可写可执行;第二组rwx

表示同组用户权限,可读可写可执行;第三组r-x表示其他用户权限,可读不可写可执行。


chown修改拥有者,chgrp修改组,chmod修改权限

chown username file  # 将file文件拥有者修改为username用户
chgrp groupname /dir  # 递归修改/dir目录所属组为groupname
chmod -R 755 /dir  # 递归修改/dir目录权限为755
chmod g+w,o+r file  # 给同组用户添加写权限,给其他用户添加读权限
chmod -R a-rw /dir # 递归删除所有用户对/dir目录的读写权限
chmod u=r file  # 只保留所有者对file文件的读取权限

注:-R选项递归修改目录。

五、远程管理相关命令

1. 关机和重启

如果要关机或重启,必须保证当前系统中没有其他用户登录,who命令可以查看是否有其他用户登录,ps -aux命令可以查看后台是否有进程运行。

shutdown -h +5  # 5分钟后关机
shutdown -h now  # 立刻关机
shutdown -h 12:00  # 12:00关机
shutdown -r now  # 立刻重启
shutdown -r +5  # 5分钟后重启
shutdown -c  # 取消之前的关机或重启计划
reboot  # 立刻重启
halt  # 立刻关机
shutdown -h +5 "System will be shutdown after 5 minutes"  # 5分钟后关机,并发出警告
shutdown -r +3 "System will be reboot after 3 minutes"  # 3分钟后重启,并发出警告
shutdown -k +5 "Waring:System will be shutdown"  # 给所有登录用户发出警告,不会关机

注:延时关机或重启可以在命令后面加一个&,把关机或重启任务放在后台。

2. 网卡和IP地址

网卡是一个负责网络通讯的硬件设备,IP地址是设置在网卡上的地址信息,每台电脑的IP地址不能相同,否则不能正常通讯。

ifconfig

ifconfig是英文单词network interfaces configuring的缩写,是用于查看或配置网卡的命令

ifconfig  # 查看或配置计算机当前的网卡信息
ifconfig | grep inet  # 查看网卡信息中的IP地址

注:127.0.0.1被称为本地回环或环回地址,一般用来测试本机网卡是否正常。


ping

ping可以检测当前计算机与目标计算机间的网络是否通畅

ping ip或域名  # 检测与目标地址是否连接正常
ping baidu.com  # 检测与百度服务器是否连接正常
ping 127.0.0.1  # 检测本地网卡是否正常

3. 远程登录和文件传输

ssh

SSH客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序,是linux系统中非常常用的工具

ssh -p port user@remote  # user是用户名,remote是ip或域名,不指定-p默认为22端口号
ssh -p 22 root@138.123.2.15  # 实例,输入密码后即可成功登录root账户

注:如果SSH服务器端口不是22,需要使用-p选项,指定正确的端口号;使用exit或者Ctrl+d可退出当前用户的登录。


scp

scp是英语单词secure copy的缩写,可以远程拷贝文件,它的地址格式与ssh类似,但指定端口是大写的-P

scp -P port file user@remote:/data/file  # 将当前路径下的file文件复制到远程/data目录中
scp -r user@remote:/home/user/dir newdir  # 复制远程user用户家目录下的dir文件夹到当前路径的newdir文件夹中,如果不存在newdir文件夹则重命名为newdir

注:如果:后面不是绝对路径,则以用户家目录作为参考路径。

-r目标文件必须是一个文件夹,递归复制该文件夹内所有内容

-P如果SSH服务器端口不是22,需要使用该选项指定端口

六、系统信息相关命令

1. 时间和日期

date系统时间

date  # 显示系统时间:Sat May  2 13:54:33 CST 2020
date +"%Y‐%m‐%d %H:%M:%S"  # 指定格式显示系统时间:2020‐05‐02 13:55:18

cal

cal是英文单词calendar的缩写,可以显示系统日期

cal  # 显示系统日历
cal -y  # 显示当前年的日历
cal 5 2020  # 显示2020年5月的日历

2. 内存、磁盘和目录空间信息

详情请见:Linux系统下查看内存、磁盘、文件以及文件夹大小的常用命令

free

free命令用于显示系统内存的使用情况,包括了物理内存、交换内存(swap)和内核缓冲区内存

free -h  # 显示内存使用情况

注:-h选项会以人性化方式显示空间大小。


df

df是英文单词disk free的缩写,可以显示Linux系统上文件系统的磁盘使用情况

df -h  # 显示磁盘使用情况

du

du是英文单词disk usage的缩写,可以显示目录下的文件夹大小

du -sh  # 查看当前文件夹的总大小
du -sh /dir  # 查看/dir文件夹的总大小
du -sh *  # 查看当目录下各个文件及文件夹占用空间总大小
du -h /dir  # 查看/dir文件夹所占空间详细情况

3. 进程信息

top

top可以显示实时进程信息,包括CPU、内存等资源占用情况,类似于Windows的任务管理器

top  # 实时显示各进程资源占用信息

注:q键退出。


ps

ps是英文单词process status的缩写,可以查看进程的详细情况

ps aux  # 查看进程的详细情况,ps -aux命令也可以,但略有不同
ps -ef  # 查看进程的详细情况

注:a选项显示终端上的所有进程,包括其他用户的进程;u选项显示进程的详细状态;x选项显示没有控制终端的进程。


kill

kill结束当前正在执行的一个进程

kill -9 2020 # 结束PID号为2020的进程,-9选项表示强行终止

注:使用kill命令时,应该只终止由当前用户开启的进程,而不要终止root身份开启的进程,否则可能导致系统崩溃。

4. 系统版本及内核信息

uname -a  # 查看内核信息
uname -r  # 查看内核信息
cat /proc/version  # 查看gcc版本
cat /proc/cpuinfo  # 查看CPU信息
cat /etc/redhat-release  # 查看linux系统版本信息(CentOS)
cat /etc/issue  # 查看linux系统版本信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值