基本的Linux命令

以下是博主在学习Linux的过程中所做的笔记,因为博主也是刚入门,内容可能不会太全面,请多多包含。此博文的主要目的是便于以后自己查阅。

Linux命令:

1.cd…

返回上一级目录

2. 正常模式下(vim编辑器):

	(1)yy 复制一行  10yy 向下复制10行  p 粘贴
	(2)dd 向下删除一行  10dd 向下删除10行
	(3)G 到文件的最后一行  gg 到文件的第一行
	(4)u 撤销操作
	(5)20shift+g 光标移动到20行
	
	命令行模式:
	(1):/hello 查找hello关键字
	(2):noh 取消查找后的高亮显示
	(3):set nu 显示行号  :set nonu 不显示行号

3.模式的切换(vim编辑器):

	(1)一般模式切换到插入模式:i或者a
	(2)一般模式切换到命令行模式: :(冒号)或者/(斜杆)
	(3)插入模式切换到一般模式:ESC
	(4)命令行模式切换到一般模式:ESC

4. vim:hello.java

没有hello.java则创建hello.java文件,有则进入hello.java文件

5. :wq

编辑后退出

6. :q

进入文件后没有修改直接退出

7 :q!

进入文件后修改不想保存,那么直接强制退出

8.shutdown

shutdown -h now : 表示立即关机 	
 shutdown -h 1 : 表示 1 分钟后关机 	shutdown -r
 now:  立即重启 == reboot

9.halt

halt	就是直接使用,效果等价于关机

10.reboot

就是重启系统。

11.sync

sync 把内存的数据同步到磁盘
 注意:当我们关机或者重启时,都应该先执行以下 sync 指令,
 把内存的数据写入磁盘,防止数据丢失。

12.logout

logout 可注销用户(在图形运行级别无效)

13.su

su - 用户名 可以切换用户

14.useradd

useradd 用户名  可以创建一个新的用户,并在home目录下有与用户名同名的文件夹

15.useradd

useradd -d /home/user/ 用户名  在指定的目录下创建用户

16.userdel

userdel 用户名 :只删除用户

17.userdel

userdel -r 用户名:删除用户名和用户目录
一般只删除用户名,不删除用户目录

18.id

id+用户名 :查看用户名对应的信息

19.su

su - +用户名 : 切换用户
root用户切换到其他用户不需要密码,exit可以回退到root用户
其他用户切换到root用户需要输入密码
其他用户切换到其他用户也需要密码

20.groupadd

groupadd+组名:创建一个新的组

21.groupdel

groupdel+组名:删除指定的组

22.useradd

useradd -g +组名+用户名 :在创建用户的时候指定用户在哪个组

23.usermod

usermod -g+组名+用户名:修改用户所在的组为指定的新组	

24.useradd -g+组名 -d +文件路径 +用户名 :

创建一个用户属于对应的组并且有自己命名的用户目录

25.查看三大配置文件:

	 /etc/passwd 文件		
	用户(user)的配置文件,记录用户的各种信息每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
	
	/etc/shadow 文件
	口令的配置文件,每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
	
	/etc/group 文件
	组(group)的配置文件,记录 Linux 包含的组的信息每行含义:组名:口令:组标识号:组内用户列表

26.运行级别说明:

  • 0:关机

  • 1:单用户【找回丢失密码】

  • 2:多用户状态没有网络服务

  • 3:多用户状态有网络服务

  • 4:系统未使用保留给用户

  • 5:图形界面

  • 6:系统重启

    常用运行级别是 3 和 5 ,要修改默认的运行级别可改文件
    /etc/inittab 的 id:5:initdefault:这一行中的数字

27.切换不同的运行级别:

init +[0,1,2,3,5,6]

28.帮助指令:

(1)  	man ls

(2)	help cd

(3)	百度

29.pwd :

显示当前的绝对路径

30.ls :

ls -a :查看包括隐藏文件的所有文件
ls -l :查看以每列一个文件的格式输出
ls -la: ls -a和ls -l 的搭配

31:cd ~ 或者 cd :

回到自己的家目录
cd .. 回到当前目录的上一级目录

32.创建目录:

mkdir+目录路径:在指定的路径下创建一个新的目录 如:mkdir /home/dog

mkdir -p +目录路径:在指定的目录下创建多级目录 如:mkdir /home/animals/dog

33.删除目录:

rmdir+目录路径:在指定的目录下删除指定的 空的 目录,如果待删除的目录非空,那么将删除不了

rm -rf +目录路径:如果待删除的目录非空,也可以删除成功

34.复制文件/目录:

cp +源文件+目标文件

cp -r +源目录+目标目录(可以进行递归复制,以复制整个目录过去)

强制覆盖不提示的方法:\cp

35.移动文件/改名:

	移动文件:mv +源文件目录 +目标文件目录
	
	改名:mv + 源文件名 + 新的文件名

36.删除文件/目录:

	删除文件:rm +文件名
	
	删除文件目录: rm -rf +文件目录
	
	-r :递归删除整个文件夹
	-f : 强制删除不提示

37.阅读文件:

cat指令:	cat -n /etc/profile |more 以cat指令打开文件并显示行号和分页

			-n是显示行号
			|more是分页
			
more指令:	more+文件  如:more /etc/profile   可以分页全屏显示

			快捷键:Enter->向下移动一行
					Space(空格)->向下翻一页
					Ctrl+F->向下翻一页
					Crtl+B->向上翻一页
					
less指令:	less+文件	如:# less /opt/金庸-射雕英雄传txt精校版.txt  对于读取大文件效率很高

			快捷键:空白键		向下翻动一页:
					[pagedown]	向下翻动一页
					[pageup]	向上翻动一页;

38. > 和 >>

> 输出重定向 : 会将原来的文件的内容覆盖
>> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部。
下面的案例中 > 和 >> 都可以使用

(1)	ls -l > a.txt 将当前目录写入到当前目录的a.txt文件中

(2)	cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)

(3)	echo 输出内容到控制台。
	echo "内容" >> 文件 将指定的内容追加到指定的文件中

39. cal

 显示日历

40.echo命令:

echo $PATH :使用 echo 指令输出环境变量,输出当前的环境路径。

echo + "" : 输出引号内的内容到控制台

41.head命令:

head + 文件路径 :输出指定文件的前10行

head -n 5 +文件路径:输出指定文件的前5行
(也可以简写:head -5 +文件路径)

42.tail命令:

tail + 文件路径:输出指定文件的后10行

tail -n 5 + 文件路径:输出指定文件的后5行

tail -f +文件路径:监听指定的文件(重点!!!)

43.ln命令:

软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径

创建软连接:

	ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接):ln -s /root linkToBoot

删除软连接:
	
	rm -rf linkToBoot

44.history命令:

查看已经执行过历史命令,也可以执行历史指令

(1)查看已经执行过的历史命令:history

(2)执行历史指令:!+历史指令对应的行号 ,如:!20 代表执行历史指令的第20个指令

(3)查看最近执行的10个历史指令 :history 10

45.时间类:

date命令:

	1) date (功能描述:显示当前时间)
	
	2) date +%Y (功能描述:显示当前年份)
	
	3) date +%m (功能描述:显示当前月份)
	
	4) date +%d	(功能描述:显示当前是哪一天)
	
	5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)

	6)date -s 字符串时间:设置系统的时间,例如 date -s "2020-07-28 14:46:46"
	
cal 命令:
	
	1) cal :查看当前月的日历
	
	2) cal 2020 :查看2020年的日历

46.搜索查找类:

(1)find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

	find+要搜索的地方+以什么方式搜索+要查找的东西	
	
	--> find /home -name hello.txt 	在home目录下以文件名的形式查找hello.txt文件
	
	--> find /home -user root		在home目录下以用户名的形式查找与root有关的文件
	
	--> find /home -size +20M		在home目录下以文件大小的形式查找大于20M的文件(大于用+,小于用-,等于直接写大小就行)
	
	--> find /home -name *.txt		在home目录下所有以txt为后缀的文件(支持通配符的操作)
	
(2)locaate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的
	 locate 数据库实现快速定位给定的文件。
	 Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。
	 
	 由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
	 
	 --> updatedb
	 --> locate hello.txt 在系统的目录中查找hello.txt文件中
	 
(3)grep 指令和 管道符号 |

	grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
		
	grep [选项] 查找内容 源文件	:
	
		cat /home hello.txt | grep -n hello    查看home目录下的hello.txt文件并过滤出关键字hello并显示行号
		
		cat /home hello.txt | grep -ni hello   查看home目录下的hello.txt文件并忽略大小写过滤关键字hello最后显示行号

47.压缩和解压缩类:

(1)gzip和gunzip命令:

		gzip + 文件名:将指定的文件压缩为*.gz的文件(gzip 对文件进行压缩后,不会保留原来的文件。)
		
		gunzip + 文件名:将指定的文件进行解压缩
		
(2)zip和unzip指令:

		zip [选项] XXX.zip + 将要压缩的内容(功能描述:压缩文件和目录的命令)
		
		unzip [选项] XXX.zip (功能描述:解压缩文件)
		
				zip hello.zip a.txt : 将文件a.txt压缩为hello.zip格式
				
				zip -r mypackage.zip /home : 将/home目录下的所有文件递归压缩为mypackage.zip
				
				unzip hello.zip :将hello.zip压缩包解压到当前文件夹
				
				unzip -d /opt mypackage.zip : 将mypackage.zip压缩包解压到/opt目录下

(3)tar指令:

		tar [选项] XXX.tar.gz + 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
		
		压缩:
			
			tar -zcvf mytxt.tar.gz a.txt b.txt : 将a.txt和b.txt文件压缩为 mytxt.tar.gz
			
			tar -zcvf myhome.tar.gz /home : 将/home目录下的所有文件压缩为 myhome.tar.gz
			
		解压:
		
			tar -zxvf mytxt.tar.gz : 将压缩包mytxt.tar.gz解压到当前目录
			
			tar -zxvf myhome.tar.gz -C /opt : 将压缩包myhome.tar.gz解压到/opt目录下

48.组的管理:

(1)ls -ahl:查看文件的所有者

(2)chown 用户名 文件名:修改文件所有者
	-R 如果是目录 则使其下所有子文件或目录递归生效	: chown -R tom /home/kkk 

(3)chgrp 组名 文件名:修改文件所在的组
	-R 如果是目录 则使其下所有子文件或目录递归生效	: chgrp -R bandit /home/kkk
	
(4)chown newowner:newgroup file 改变用户的所有者和所有组

(5)usermod –g 组名 用户名:改变用户所在组

49.权限的管理:

1)权限的基本介绍

	(1)ls -l 中显示的内容如下:
		-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
	
		0-9 位说明
		1) 第 0 位确定文件类型(d:目录, -:普通文件 , l:软连接 , c:字符设备【鼠标、键盘等】 , b:块文件【硬盘等】)
		2) 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。---User
		3) 第 4-6 位确定所属组(同用户组的)拥有该文件的权限,---Group
		4) 第 7-9 位确定其他用户拥有该文件的权限 ---Other
		
2)rwx 权限详解:
	
	(1)rwx 作用到文件
		1) [ r ]代表可读(read): 可以读取,查看
		
		2) [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,
								 才能删除该文件.
								 
		3) [ x ]代表可执行(execute):可以被执行
		
		
	(2)rwx 作用到目录:
		1) [ r ]代表可读(read): 可以读取,ls 查看目录内容
		
		2) [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
		
		3) [ x ]代表可执行(execute):可以进入该目录
		
		
	(3)修改权限-chmod
			第一种方式:+ 、-、= 变更权限
			
			u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)
			
				1) chmod u=rwx,g=rx,o=x 文件目录名
				
				2) chmod o+w 文件目录名
				
				3) chmod a-x 文件目录名
				
			第二种方式:通过数字变更权限
				规则:	r=4 w=2 x=1 ,
						rwx=4+2+1=7 
						chmod u=rwx,g=rx,o=x 
						文件目录名相当于 chmod 751 文件目录名

50.crond 任务调度:

(1)crontab -e 编辑crontab定时任务

(2)crontab -l 查询crontab任务

(3)crontab -r 删除当前用户所有的crontab任务

快速入门:

	设置个人任务调度。执行 crontab –e 命令。
	接着输入任务到调度文件如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
	意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt 命令
	
	第一个“*”一小时当中的第几分钟0-59
	第二个“*”一天 当中的第几小时0-23
	第三个“*”一个月当中的第几天1-31
	第四个“*”一年 当中的第几月1- 12
	第五个“*”一周当中的星期几0-7(0和7都代表星期日)
	
	*	代表任何时间。比如第一个“*”就代表-小时中每分钟都执行一次的意思。
	,	代表不连续的时间。比如“0 8,12,16* * *”命令,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
	-	代表连续的时间范围。比如“05 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令
	*/n	代表每隔多久执行一次。比如“*/10****命令”,代表每隔10分钟就执行一遍命令

51.lsblk 或者 lsblk -f 命令可以查看系统的分区情况(简单记忆:老师不离开lsblk)

52.给系统新增一个硬盘:

(1)	虚拟机添加硬盘:
		在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,
		至到完成。然后重启系统(才能识别)!

(2)	分区:
		分区命令 fdisk /dev/sdb
		
		参数:
		•m 显示命令列表
		• p 显示磁盘分区 同 fdisk –l
		• n 新增分区
		• d 删除分区
		• w 写入并退出
		
		开始分区后输入 n,新增分区,然后选择 p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入 w 写入分区并退出
		,若不保存退出输入 q。
		

(3)	格式化:

		分区命令:mkfs -t ext4 /dev/sdb1  其中 ext4 是分区类型
		
		
(4)	挂载: 
		将一个分区与一个目录联系起来

		• mount 设备名称 挂载目录
		• 例如: mount/dev/sdb1 /newdisk
		• umount 设备名称 或者 挂载目录
		• 例如: umount /dev/sdb1 或者 umount /newdisk
		
		
(5)	永久挂载: 
		通过修改/etc/fstab 实现挂载添加完成后 执行 mount –a 即刻生效

53.磁盘情况查询:

(1) df -lh :查询系统整体磁盘使用情况

(2) du +参数 + 目录 :查询指定目录的磁盘占用情况

		-s 指定目录占用大小汇总
		-h 带计量单位
		-a 含文件
		--max-depth=1 子目录深度
		-c 列出明细的同时,增加汇总值
	
	  du -ach --max-depth=1 /opt  查询 /opt 目录的磁盘占用情况,深度为 1
	  
	  
(3) 统计/home 文件夹下文件的个数:ls -l /home | grep "^-" | wc -l

(4) 统计/home 文件夹下目录的个数:ls -l /home | grep "^d" | wc -l

(5) 统计/home 文件夹下文件的个数,包括子文件夹里的:ls -lR /home | grep "^-" | wc -l

(6) 统计文件夹下目录的个数,包括子文件夹里的 : ls -lR /home | grep "^d" | wc -l

(7) 以树状显示目录结构: tree /home

54.进程管理:

(1) ps -aux :查看所有的系统进程

	参数:
		-a : 显示当前终端的所有进程信息
		-u : 以用户的格式显示进程信息
		-x : 显示后台进程运行的参数
		
(2)ps -aux | grep XXX : 查看系统中是否有XXX进程

	结果说明:
		• System V 展示风格
		• USER:用户名称
		• PID:进程号
		• %CPU:进程占用 CPU 的百分比
		• %MEM:进程占用物理内存的百分比
		• VSZ:进程占用的虚拟内存大小(单位:KB)
		• RSS:进程占用的物理内存大小(单位:KB)
		• TT:终端名称,缩写 
		• STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行
				,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
		• STARTED:进程的启动时间
		• TIME:CPU 时间,即进程使用 CPU 的总时间
		• COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
		
(3) ps -ef :是以全格式显示当前所有的进程(包括PPID,父进程)
		-e 显示所有进程。-f 全格式。

(4) 	kill [选项] 进程号(功能描述:通过进程号杀死进程)
		killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
		
		-9 :表示强迫进程立即停止
		
		根据 ps -aux |grep XXX 查询到某个进程的id,再利用 kill + 进程id 即可杀死该进程
		
		kill -9 + 进程id 强制杀死指定id的进程
		
		killall +进程名 可以杀死与指定进程名有关的所有进程
		

(5) pstree [-u,-p] :查看进程树

		参数: 
			-u :显示进程的所属用户
			-p :显示进程的 PID

55.服务管理:

(1)service 管理指令:

		service+服务名+[start | stop | restart | reload | status]
		
		在 CentOS7.0 后 不再使用 service ,而是 systemctl
		
		案例: 	查看防火墙:  service iptables status  
				打开防火墙: service iptables on  
				关闭防火墙: service iptables off
				重启防火墙: service iptables restart
			

(2)补充:Windows的dos命令下可以利用telnet + ip + 端口号 检验Linux的某个端口是否开启


(3)查看系统的服务:

	● 使用 setup -> 系统服务 就可以看到。
	● ls -l /etc/init.d/ 
	
	
(4)chkconfig命令

	chkconfig --list 可以查看所有服务在不同的运行级别下的开闭状态
	
	chkconfig --list | grep XXX 可以查看指定服务在不同运行级别下的开闭状态
	chkconfig XXX --list 功能同上
	
	chkconfig --level + 数字 + 服务名 + on/off : 可以为指定的服务在指定的等级下修改状态
	比如:chkconfig --level 5 sshd off 把sshd服务在运行状态为5时设置为关闭

56.动态监控进程

(1)top命令:	top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top在执行一段时间可以
				更新正在运行的的进程
				
(2)案例 1.监视特定用户
		top:输入此命令,按回车键,查看执行的进程。
		u:然后输入“u”回车,再输入用户名,即可
		
	案例 2:终止指定的进程。
		top:输入此命令,按回车键,查看执行的进程。
		k:然后输入“k”回车,再输入要结束的进程 ID 号
		
	案例 3:指定系统状态更新的时间(每隔 10 秒自动更新, 默认是 3 秒):
		bash> top -d 10

57.查看系统网络情况netstat(重要)

netstat -anp

	参数:
		-an 按一定顺序排列输出
		-p 显示哪个进程在调用
		
netstat -anp | grep sshd 专门查看sshd的网络情况

58.rpm包的管理:

(1)rpm -qa :查询所安装的所有 rpm 软件包

(2)rpm -qa | grep firefox :	查询系统中是否有安装firefox软件
	 rpm -q firefox 同上
	 
(3)rpm -qi + firefox : 查询firefox的信息

(4)rpm -ql + firefox :	查询firefox的软件包中的文件

(5)rpm -qf + 文件名:	查询文件是属于哪个软件包的

(6)rpm -e + firefox : 卸载firefox这个软件

(7)rpm -ivh + 安装包名:安装指定的安装包 (在安装之前需要在光驱里面把安装包拷贝到/opt目录下在执行该命令)

59.yum命令:

yum list|grep xx 软件列表 :查询 yum 服务器是否有需要安装的软件

yum install xxx 下载安装  :安装指定的 yum 包

60.source 命令:

source 配置文件 (功能描述:让修改后的配置信息立即生效)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值