Linux 常用命令

前提须知:
用户想要操作linux内核,需要先用用户名和密码登录bash shell,这时启动一个bash进程。这时用户输入的命令会传输给bash shell,然后bash shell通过一些处理,最后和linux内核交互。
在这里插入图片描述
linux文件系统大概图
在这里插入图片描述

1:切换目录

cd 目录 #切换到指定目录
cd #切换到家目录
cd .. #切换到上一级目录

  
 
  • 1
  • 2
  • 3

2:列出当前目录下的所有文件和文件夹。从左到右依次:
第一位:文件类型(f:普通文件,d:目录文件 …)
接下来9位:文件权限,每3位一组,每组代表属主,用户组,其他的权限。其中rwx分别代表读,写,执行。-代表没有这个权限。
接下来:文件硬链接的次数
接下来:文件的属主
接下来:文件的属组
接下来:文件大小,单位是字节
接下来:时间戳,最近一次修改的时间

ls [-al]  #可选参数,a代表所有文件包括隐藏文件,l显示详细信息
ll

  
 
  • 1
  • 2

3:查看某一命令是内部命令(shell自带的)还是外部命令(用户安装的),若显示xx is a shell builtin则为内部命令,否则为外部命令

type 命令

  
 
  • 1

4:查看文件类型。

file 文件

  
 
  • 1

5:查看某一命令的位置

whereis 命令

  
 
  • 1

6:查看文件内容,后面可接多个文件,用空格分隔

cat 文件
cat 文件1 文件2 ...

  
 
  • 1
  • 2

7:分页查看文件内容

more 文件  #从上往下,按空格按页翻,按回车按行翻。
less 文件  #可从上往下,也可从下往上,按空格按页下翻,按回车按行下翻,按b往上翻
head -n 文件  #查看文件前n行,不传-n则默认10行
tail -n 文件  #查看文件倒数n行,不传-n则默认10行
tail -f 文件  #实时查看文件倒数10行,-5f则实时查看5行

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

8:查看命令帮助文档,一般内部命令用help,外部命令用man,如若没有man命令,先使用yum install man安装

man 命令 或者 help 命令

  
 
  • 1

9:定义变量,变量名=值,定义数组为 变量名=(值1 值2 值3 …)
其中$$变量的值是bash shell的进程号

a=1
arr=(1 2 3)

  
 
  • 1
  • 2

10:打印,echo类似于java的system.out.print()

echo "字符串" #打印字符串
echo $变量名 #打印变量的值
echo ${arr[1]} #打印arr数组下标为1的值
echo "字符串" > 文件名 #将内容添加到文件中
echo "字符串" >> 文件名   #将内容追加到文件中

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

11:查看进程一些信息,包括进程号等等

ps -ef 
ps -ef | grep 字符串   #匹配进程名称

  
 
  • 1
  • 2

12:df显示磁盘使用情况,du显示文件使用情况,free显示当前内存和交换空间的使用情况

df [-h] #其中-h是可选参数,显示大小单位
du [-h] 文件 #其中-h是可选参数,显示大小单位
free [-h] #其中-h是可选参数,显示大小单位

  
 
  • 1
  • 2
  • 3

13:打开并且编辑某一文件,若文件不存在会被创建。进入后编辑查看模式,按两次D可以实现删除某一行;按i可以进入输入模式,按Esc可推出输入模式;按Shift+:可以进行退出或者保存操作:
q为不修改时退出;
q!为强制退出,修改的无效;
wq修改有效,并且退出;

vim 文件 或者 vi 文件

  
 
  • 1

14:创建目录

mkdir 目录名称
mkdir -p /目录1/目录2 #-p参数可以在父目录(目录1)不存在情况下,同时创建父目录

  
 
  • 1
  • 2

15:删除文件或者目录

rm -f 目录或者文件 #强制删除
rm -rf 目录或者文件 #强制删除目录下的所有文件

  
 
  • 1
  • 2

16:复制

cp 源文件或目录 目的文件或目录

  
 
  • 1

17:移动

mv 源文件或目录 目的文件或目录   #目的文件或目录可以重命名

  
 
  • 1

18:显示当前路径

pwd

  
 
  • 1

19:查看文件的详细信息

stat 文件

  
 
  • 1

20:创建新文件,更新文件一致性时间

touch 文件

  
 
  • 1

21:管道,符号为|,|左边作为输出方,右边为输入方。

ps -ef | grep xx   #ps -ef输出的内容作为右边grep xx的搜索范围
cat a.txt | head -n | tail -1  #可以实现查看文件a.txt的第n行数据

  
 
  • 1
  • 2

22:用户与权限

useradd 用户名   #增加用户,未设置密码,此用户还登录不了
userdel 用户名   #删除用户,不过这样删除还有残余文件,删除干净可以删除/home/用户名的目录以及/var/spool/mail/用户名目录。
passwd 用户名 #创建或者修改用户的密码,passwd后面不加用户名默认修改root用户密码
groupadd 组名 #创建组
usermod  -G 组名 用户名 #将用户添加到组中
chown  属主名:组名 文件夹或者文件  #改变文件夹或者文件的属主和属组
chown 三位数字 文件夹或文件  #其中三位数字(例如761)从左到右依次代表属主,属组,其他的权限。wrx分别代表4,2,1。若三个权限都有即4+2+1=7。
chown g+w  文件夹或文件   #给文件的属组增加写权限
chown g+r  文件夹或文件   #给文件的属组增加读权限
chown g+x  文件夹或文件   #给文件的属组增加执行权限
以上三个,g的位置若为o即其他人,若未u则属主;+若为-则为去除权限。
su 用户名   #切换账号,root切换到其他账号不需要输入密码

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

23:在文件系统中查找指定的文件

find -name 'hello.txt'

  
 
  • 1

24:显示在线登录用户

who

  
 
  • 1

25:显示主机名称

hostname

  
 
  • 1

26:显示系统信息,查看系统版本

uname
lsb_release -a

  
 
  • 1
  • 2

27:显示当前系统中耗费资源最多的进程

top

  
 
  • 1

28:杀死一个进程

kill -9 进程号

  
 
  • 1

29:清屏

clear

  
 
  • 1

30:显示网络状态信息

netstat

  
 
  • 1

31:重启

reboot
shutdown -r now

  
 
  • 1
  • 2

32:关机

shutdown -h now

  
 
  • 1

33:软件安装与卸载

ubuntu版本:
apt-get install packagename #安装软件包
apt-get remove packagename #删除软件包
apt-get update #更新软件包列表
apt-get upgrade #升级有可用更新的系统(慎用)
apt-cache search packagename #搜索软件包
apt-cache show packagename #获取软件包信息
apt-get remove packagename --purge #删除包以及配置文件

centos版本:
yum install packagename 

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

文章来源: javalib.blog.csdn.net,作者:陈皮的JavaLib,版权归原作者所有,如需转载,请联系作者。

原文链接:javalib.blog.csdn.net/article/details/105059932

(完)