企业招聘网站大全免费云南网站建设维护
目录
- linux常用命令
 - 〇、连接远程linux主机
 - 一、日常使用命令
 - 1、开关机命令
 - 2、常用快捷键命令
 - 3、常用工具命令
 
- 二、常用目录或文件操作命令
 - 1、展示目录列表命令ls(list)
 - 2、切换目录命令cd(change directory)
 - 3、目录的创建和删除
 - 4、文件的创建和删除
 - 5、文件打包或者解压命令
 
- 三、linux中的权限问题
 - 四、文件/文件夹的复制、移动、查看
 - 五、文件内容查看
 - 六、系统常用操作命令
 - 七、磁盘及分区管理
 - 八、常用的功能性复合命令汇总
 
linux常用命令
注意:1、<>代表是必填项,[]表示是选填项。真正填入的时候不需要加<>和[];2、本文命令以cenos7为例进行测试。
〇、连接远程linux主机
- 使用ssh命令(linux主机需要开启ssh服务):
ssh <用户名>@<主机IP>,例:ssh root@101.32.155.100
之后会提示输入用户密码,正确输入密码即可进入。 
一、日常使用命令
1、开关机命令
shutdown -h now:现在关机shutdown -r now:现在重启reboot:现在重启计算机su [用户名]:切换用户,不加用户名的话默认切换到root用户password:修改密码 # 未成功logout:用户注销
2、常用快捷键命令
tab:补全ctrl+l:清屏ctrl+r:查找历史命令ctrl+c:终止ctrl+k:删除此处至末尾的所有内容ctrl+u:删除此处至开始的所有内容
3、常用工具命令
-  
man -  
wc(wordcount):文本统计- 常见参数 
- -l:只查看行数
 - -w:只查看单词数
 - -c:只查看字符数
 
 
 - 常见参数 
 -  
du:文件大小统计- 常用参数: 
- -s:只统计该文件目录的大小,不递归
 - -h:人性化显示单位
 
 
 - 常用参数: 
 -  
find:文件检索命令
语法:find path [-option] [-exec|-ok command] {} \;注意:<>中的内容是必填项,[]中的内容是选填项;-exec command是对查找出来的文件执行command命令;{} 花括号代表前面find查找出来的文件名,就是对他们执行command;然后是一个空格;语句必须以分号结束,因为不同系统对分号解析可能有区别,所以前面价格转义符。-ok和-exec作用相似,不同的是-ok在执行内一个命令之前都会提示用户确认参数说明:find:find之后,第一个命令参数之前的内容是搜索路径,默认为当前路径,命令参数默认位[-print](. 表示当前目录及其子目录)命令参数[-option]众多:-amin n:在过去n分钟内被读取过-atime n:在过去n天内被读取过-anewer file:比file文件更晚被读取过的文件-cmin n:在过去n分钟内被修改过-ctime n:在过去n天内被修改过-cnewer file:比file文件更晚被读修改的文件-empty:空的文件-path p 和 -ipath p:路径名符合p的文件,ipath会忽略大小写-name fileName 和 -iname fileName:文件名符合p的文件,iname会忽略大小写-type c:文件类型是c的文件(c的取值:目录d,一般文件f,符号链接l,socket s,)-size n单位:文件大小是n单位,例:10k例子:查找/var/log 目录中更改时间在7日以前的普通文件,并在删除他们以前询问用户:find /var/log -ctime +7 -type f -ok rm {} \; -  
grep命令:
 Grep 是 Global Regular Expression Print 的缩写,它搜索指定文件的内容,匹配指定的模式,默认情况下输出匹配内容所在的行。注意,grep 只支持匹配而不能替换匹配到的内容。
#### 常见用法 # 1、在当前目录中递归查询所有文件中包含username字符的行 grep -r "username" ./ # 2、在指定文件中查找某字符串所在行的内容 grep "被查找的字符串" 文件名 # 3、在制定文件查找符合某正则表达式的文本所在的行 grep –e "正则表达式" 文件名 # 4、忽略大小写 grep –i "被查找的字符串" 文件名 # 5、在指定文件中查找某不匹配该字符串的行的内容 grep –v "被查找的字符串" 文件名 # 6、从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 "ERROR" 的行: find / -type f -name "*.log" | xargs grep "ERROR" # 7、 find . -name "*.in" | xargs grep "thermcontact" -  
I/O重定向:>, 覆盖输出 ;>>,追加输出
 -  
管道:管道是将前一个命令的输出作为后一个命令的输入
 -  
xargs:是给其他命令传递参数的一个过滤器,它擅长将标准输入数据转换成命令行参数
cat test.txt | xargs # 多行数据单行输出 
二、常用目录或文件操作命令
1、展示目录列表命令ls(list)
- ls;ls -a;ls -l;ll;ll -a;ll -h,友好的显示当前目录下的文件信息;pwd
 
2、切换目录命令cd(change directory)
- cd test;cd …;cd ~;cd -;
 
3、目录的创建和删除
- mkdir test:在当前目录创建test目录
 - mkdir -p test/a/b:在test目录下的a目录下创建b目录,如果a目录不存在一并创建
 - rmdir test:删除当前目录下的test目录
 
4、文件的创建和删除
- touch test.txt:创建text.txt文件
 - rm test.txt:删除test.txt文件,删除前询问用户
 - rm -f test.txt:直接删除,不询问
 - rm -r test.txt:递归删除,test目录及其子目录,删除前询问用户
 - rm -rf test.txt:递归直接删除
 
5、文件打包或者解压命令
- 打包并压缩文件(打包文件.tag,压缩文件.gz),一般情况下,打包和压缩是在一起的,打包压缩后文件后缀为.tag.gz。 
- 命令:tar -zcvf <指定打包压缩后的文件名> <要打包的文件> 
- z:压缩
 - c:打包
 - v:显示运行过程
 - f:指定文件名
 
 - 注意:指定新文件名要自己加后缀,如
tar -zcvf test.txt.tag.gz aa 
 - 命令:tar -zcvf <指定打包压缩后的文件名> <要打包的文件> 
 - 解压压缩包 
- 命令:tar [-xvf] <压缩文件> 
- x:解压缩
 - v、f和打包压缩的时候用法一致
 
 - 主要:要解压的压缩文件名要写全,如
tar -xvf test.txt.tag.gz 
 - 命令:tar [-xvf] <压缩文件> 
 - zip类型:unzip <文件名>
 - rar类型
 
#1.安装rar解压工具
wget http://www.rarlab.com/rar/rarlinux-x64-5.0.0.tar.gz
tar -zxvf rarlinux-x64-5.0.0.tar.gz
mv rar /opt/
cd /opt/rar/
make && make install#2. 使用:#2.1、rar命令
rar a test.rar file1 file2  #压缩#2.2、unrar命令
unrar e test.rar DestPath  #解压(会在把当前压缩包内容解压到当前目录内,容易造成解压内容和当前目录原文件混合,不容易区分,不建议使用)
unrar x test.rar DestPath  #解压(会在当前解压目录内产生一个以压缩包名字命名的目录,目录内是解压内容,推荐使用)
 
三、linux中的权限问题
文件详情:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R0fTd30u-1624112753391)(文件详情.png)]](https://i-blog.csdnimg.cn/blog_migrate/fbc3834dc02a47c5cc0c8b02490fcf1b.png)
因此可以得出,文件的权限问题就是:所有者、同组用户、无关用户对文件的读、写、执行操作的管理。
注意:读权限用数字4表示,写权限用数字2表示,执行权限用数字1表示,同时拥有读写权限则为数字6
- 修改文件/或目录的权限:chmod 
- 例:修改文件test.txt文件的权限为,所有者拥有读写执行权限、同组用户可读可执行,其他用户没有权限,
chmod 730 test.txt 
 - 例:修改文件test.txt文件的权限为,所有者拥有读写执行权限、同组用户可读可执行,其他用户没有权限,
 - 修改文件的所属用户和所属组 
chown userName:groupName fileName,修改文件所属用户和所属用户组chown userName: fileName,修改文件所属用户chown :groupName fileName,修改文件所属用户组
 - 用户管理 
- 查看所有用户:users,或者查看
etc/password - 添加用户:useradd <用户名>,useradd -d <指定家目录> <用户名>,useradd -g <组名> <用户名>
 - 删除用户:userdel <用户名>,userdel -r <用户名>
 - 查询用户信息:id <用户名>
 - 修改用户所在组:usermod -g <新组名> <用户名>
 
 - 查看所有用户:users,或者查看
 - 用户组管理 
- 查看所有:
groups,或者查看etc/group - 添加组:
groupadd <组名> - 删除组:
groupdel <组名> - usermod -aG wheel username. #centos将用户添加到wheel组即可执行sudo
 
 - 查看所有:
 
四、文件/文件夹的复制、移动、查看
- 复制命令:cp 
- 语法 
cp [-option] source destinationcp [options] source1 source2 .... directory
 - 选项和参数 
- -d 若来源档为连结档属性,则复制结档属性而非文件本身
 - -p 连同文件的属性一起复制过去
 - -r 递归连续复制,用于目录
 - -a 相当于-pdr
 - -f 强制
 - -i 若目标档已存在,询问用户
 - -l 复制文件的硬式链接,而不是文件
 - -s 复制成为符号链接档,快捷方式
 - -u destination比source旧才升级
 
 
 - 语法 
 - 删除命令:rm 
- 语法 
rm [-option] 文件或者目录
 - 选项与参数 
- -r -f -i
 
 
 - 语法 
 - 移动或改名:mv 
- 语法 
mv [-option] source destinationmv [options] source1 source2 .. directory
 - 参数 
- -rfi
 
 
 - 语法 
 
五、文件内容查看
- cat 有第一行开始显示文件 
- -b 显示行号
 - -n 显示行号 包括空行
 - -A = -vET
 - -T tab显示为见 I
 - -v 列出一些看不出来的特殊字符
 - -E 结尾的断行字节$显示出来
 
 - tac 从最后一行开始显示,cat倒过来写
 - nl 显示行号 
- -b 制定行号显示方式:-b a 忽略空行,-b t 不忽略空行
 - -n 行号的表示方法:-n ln 左边显示,-n rn 右边显示且不加0 ,-n rz 右边显示且加0
 - -w 行号占用的位数
 
 - more 一页一页的看 
- enter:下一行
 - 空格:下一页
 - b:上一页
 - :f 显示文档名和目前的行数
 
 - less 一页一页的看,可以翻页 
- B上一页
 - 空格下一页
 - /字串 向上搜索字串
 - ?字串 向下搜索字串
 - n 重复前一个搜索(/ or ?)
 - N反向重复前一个搜索(/ or ?)
 
 - head 只看头几行
 - tail只看尾几行:tail -n number;-f:表示持续侦测后面所接收的文档名,ctrl+c结束侦测
 
 
六、系统常用操作命令
-  
编辑sudo命令的配置:visudo
Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
使用权限:在 /etc/sudoers 中有出现的使用者。
#用户名 登陆的主机= (以什么样的身份运行) 可以执行什么样的命令 # eg: lyx ALL=(root) NOPASSWD:ALL # allow lyx to run all commands anywhere -  
网络管理:ping、ifconfig
 -  
服务管理:
- 服务启动|关闭|状态查看|重启: 
service service_name start|stop|status|restart- linux自带的所有服务名称在:/etc/init.d/ 下
 - 如:network(网络)、iptables(防火墙)、mysql(mysql5.5之前叫mysqld)
 
 - 设置某服务是否开机自启 
- 检查:
chkconfig iptables --list - 设置:
chkconfig iptables on|off 
 - 检查:
 
 - 服务启动|关闭|状态查看|重启: 
 -  
进程管理:ps
- 查看某进程:
ps -ef | grep java(如安装了JDK可用jps代替这条命令) - 杀死某个进程:
kill -9 pid 
 - 查看某进程:
 -  
端口管理
- netstat:netstat 是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。netstat 命令的基本信息如下。
 - 参数 
-  
-a:列出所有网络状态,包括 Socket 程序;
 -  
-c秒数:指定每隔几秒刷新一次网络状态;
 -  
-n:使用 IP 地址和端口号显示,不使用域名与服务名;
 -  
-p:显示 PID 和程序名;
 -  
-t:显示使用 TCP 协议端口的连接状况;
 -  
-u:显示使用 UDP 协议端口的连接状况;
 -  
-I:仅显示监听状态的连接;
 -  
-r:显示路由表;
 
 -  
 - 常用:netstat -atunlp
 
 
七、磁盘及分区管理
1、Linux磁盘类型
- IDE类型:
- 个人电脑常用磁盘类型,缺点是在读写操作时都大量消耗CPU资源 ,优点是性价比高适用面广。
- 磁盘在系统中的标识:sd,例如第一块IDE类型磁盘的第一个分区为sda1 - SCSI类型:
- 服务器常用磁盘类型,缺点是贵,优点是在大量数据读写时,自己的处理器会处理,占用CPU很少的资源;同时扩充性好、稳定、可靠。
- 磁盘在系统中的标识:hx,例如第一块SCSI类型磁盘的第三个分区为hxa3 
2、常用分区类型及特点
- mbr分区: 
- 最多支持4个主分区
 - 系统只能安装在主分区
 - 扩展分区站一个主分区(扩展分区可有多个逻辑分区)
 - 最大支持2TB,但拥有较好的兼容性
 
 - gtp分区: 
- 支持无限多个主分区
 - 最大支持18EB的分区1024*1024TB
 - win7 64为以后支持
 
 
3、查看磁盘分区及挂载信息
lsblk -f
 

案例:给linux增加一块新的硬盘并且挂载到 /home/newdisk
- 步骤:虚拟机添加硬盘;设置分区;格式化分区;挂载目录
 - 操作:
(1)虚拟机设置中添加一块磁盘,重启虚拟机生效。
(2)lsblk -f命令查看新添加的磁盘名称
(3)对磁盘进行分区:
1)fdisk /dev/sdb # 对第二块mbr磁盘分区
2)n
3)p
4)默认
5)默认
6)w #写入
(4)格式化刚才的分区: 
mkfs -t ext4 /dev/sdb1		#mkfs = make file system
 
(5)设置挂载目录
mount sdb1 /home/newdisk		#卸载:unmount sdb1 /home/newdisk
 
(6)设置永久在动挂载
vim /etc/fstab
 

4、磁盘状态查询
- df –lh:查新磁盘整体使用情况
 - du -h 目录:查询某个目录的磁盘使用情况
-s:指定目录占用大小汇总
-h:带计量单位
-a:含文件
-max-depth=1:子目录深度
-c:列出明细的同时增加汇总值 
八、常用的功能性复合命令汇总
# 统计某个目录下面某种类型(或多种类型)的文件内容的行数。可用来统计代码行数
# 例:统计当前所在目录下 .java文件和,xml文件的行数 注意:统计多种类型的文件用 -or 连接,同时"("和")"不能缺,只统计一种类型的话"("和")"可以省略。
find ./ "(" -name "*.java" -or -name "*.xml" ")" -print | xargs wc -l
#统计某目录下文件的个数:
ls –l /etc | grep     “^-” |wc -l
#统计某目录下目录的个数:
ls –l /etc | grep     “^d” |wc -l
#统计某目录下文件的个数:
ls –lR /etc | grep     “^-” |wc -l
#统计某目录下目录的个数:
ls –lR /etc | grep     “^-” |wc –l
#以树状展示目录结构:
#Yam安装tree:
yam  instal tree
tree
#查看某个文件夹的大小
du -sh 文件夹名称 #查看nginx配置文件位置
nginx -t#scp使用
#将当前路径下的pn-acess-0.0.1-SNAPSHOT.jar文件上传到101.132.155.132服务器的root用户的/home目录下,命名为pn.jar
scp ./pn-acess-0.0.1-SNAPSHOT.jar root@101.132.155.132:/home/pn.jar#查看内存使用情况:
free -m#查看内存占用排行前10的进程:
ps aux --sort -rss | head# 修改该时间为2024年4月9日11点
sudo date 040911002024.00