供初学者 超详细的linux命令学习笔记

供初学者 超详细的linux命令学习笔记

学习笔记记录非常详细,但是比较乱。

Linux学习开始!!!


一、了解

1、linux安装两种方式
手动分区和自动分区
2、若选择自动分区,必须配置的2个分区是?
根分区(/)和交换分区(swap)【内存大不要swap也可以】
3、命令行
如何关机,输入:shutdown、halt或poweroff
重启,输入:reboot
linux根用户名是:root
4、图形界面下如何进入字符界面?
右键->终端->init 3  或编辑 /etc/initab,让启动级别为3
ctrl + alt + f2
注意:安装虚拟机时候,一定要把杀毒软件全部关闭

作为java程序员必须掌握如下命令
文件/目录操作 :创建(mkdir目录,touch创建文件)、查看(pwd查看在哪个路径下,ls查看目录文件,ll查看详细)、移动(mv)、改名(mv)、删除(rmdir)、复制(cp)
用户/组管理:创建组/用户、删除组/用户
权限管理:查看(ll)/修改进程(读写执行三种权限,chmod u-+ g-+ o-+..)
进程管理:查进程(ps -aux)、杀进程(kill 进程号)
打包解压:.gz .bz这样的压缩文件操作tar zxvf ..  tar jxvf .. tar zcvf .. tar jcvf ..
软件安装:yum安装 编译安装 
编译器:vim(像windows下的记事本)

实战达标:
安装linux系统+配置上网+配置环境
项目(tomcat+jdk+部署java项目)

提升要求
shell 定时任务,定期备份

 

二、Linux命令

一、基本命令

位置操作命令
.代表当前目录 ..代表上一级目录
绝对定位举例:
cd /user/local/bin,此时将进入到/user/local/bin下
相对定位举例:
接上一步,已经进入到/user/local/bin下,如何到cd/user/local/share文件夹呢?
可以这样:cd ../share
绝对定位于相对定位还可以结合起来使用:
如:cd/user/local/bin/../ 回车之后,将进入/uer/local

创建命令
创建目录:mkdir
pwd 查看自己在哪里
创建china和mp4目录:mkdir china mp4
-p:创建级联目录 mkdir mp8/hongkong 如果没有这个mp8目录,会报错,改进 mkdir -p mp8/honghong
创建文件:touch
如:创建tmp.txt文件  touch tmp.txt

查看命令
ls:列出当前目录的文件
ls /path:列出/path下的文件
ls /paht -l:详细列出path的文件
ls -a:列出所有文件,包括虚拟. 和..以及隐藏文件

复制命令
复制copy,命令cp
cp 源文件 目标文件
cp源目录 目标目录 -R[递归copy整个目录]

改名称命令
如何改名?比如先touch一个a.txt,改名成a.txt.bak
还是用mv命令
mv时,mv 源文件名 新文件名
移动并改名
示例:将tmp.txt文件移动到mp4目录下,并改名为a.txt
mv tmp.txt mp4/a.txt

删除命令
删除空文件夹(如果文件夹非空,不能用这个命令):rmdir 
用法 rmdir 空文件夹名称
示例 rmdir ./fir2/dir1
再ls ./dir2 看一看,dir1还存在不
删除一个文件或者文件夹(空或非空):rm
用法 rm 文件名称 示例:删除tmp.txt  rm tmp.txt(linux提示是否删除,输入y表示删除,输入n表示不删除)
rm -r 文件夹名称 会一直循环迭代、递归删除提示你
rm -rf 文件夹名称(-r表示循环迭代的意思,这样它碰到子目录就进去删,-f是强制的意思,不用提示,全部删除)
rm -rf ./dir

移动命令
mv
mv 移动文件 移动目录
示例:加将tmp.txt文件移动到mp4目录下
mv tmp.txt mp4/
移动+改名
示例:将tmp.txt文件移动到mp4目录下,并改名为a.txt
mv tmp.txt mp4/a.txt

 

二、文件的常用命令

1、文本文件查看
>重定向(覆盖原文件) echo hello > a.txt 会发现多了a.txt,且a.txt的内容是hello 用more a.txt查看
>>重定向(追加源文件)
查看:more,less,head,tail,cat,以及grep
more查看文件的内容 用法:more filename
less 作用/用法同more(more最后一屏时会自动退出,less不自动退出,按q退出,也可以ctrl+b往前翻,ctrl+f往后翻)
head 查看文件的前几行 用法: head -3 filename(查看前3行)
tail 查看文件的后几行 用法:tail -5 filename(查看后5行)
cat 把文件的内容连接起来打印到终端或者用>覆盖到另一个文件 用法:cat 文件1 文件2 ... 文件n(直接把n个文件连接起来输出在屏幕上) cat 文件1 文件2 ...文件n >文件n+1(把n个文件连接成一个新文件)
grep 匹配文件中的行
grep 判断字 文件
xargs grep可以配置查看文件里面的东西
grep adm /etc/passwd,会把/etc/passwd 文件中含有adm的行打印出来
查询所有java文件中,含有query函数的文件:find -name "*.java" | xargs grep query

2、文件打包压缩及解压
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName(如果不想看打包的具体过程,可以用 tar cf filename.tar dirname)
(注:tar是打包,不是压缩!打包是文件多变少内存不变,压缩是通过算法将内存变小)

.gz
解压
1、gunzip filename.gz
2、gzip -d filename.gz
压缩:gzip filename
压缩且不删除原文件:gzip -c filename > filename.gz

.tar.gz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname

.zip
解压:unzip filename.zip
压缩:zip filename.zip dirname

.rar
解压:rar a filename.rar
压缩:rar e filename.rar

快速打包
tar vf+如下二选一+二选一(vf v是查看过程可以不写,f是文件必须写)
j(bz格式) z(gz格式)
c(创建,打包) x(解压)
将mp4目录压缩成gz格式的:tar vfcz mp4.tar.gz mp4
删掉mp4目录:rm -rf mp4
解压gz格式的:tar vfxz mp4.tar.gz
删掉压缩包:rm mp4.tar.gz

3、文件查找
根据文件名查找
find -name "*.txt"
技巧:find 配合 grep来查询含有某个关键字的文件,xargs 可以配置查看文件里面的东西
查询所有java文件中,含有query函数的文件:find -name "*.java" | xargs grep query

 

三、系统命令
linux是多用户多线程的系统(可以有n个用户同时登录)
显示当前登录者用户名称:whoami
显示谁在线:who
切换用户:su 用户名 或者 su - 用户名(su后面有-,不仅切换到其他用户,而且环境变量这些都切换成其他用户的。不加-,仅仅使用这个用户的权限,而不使用其他)
 示例:切换到root用户 su - root

显示内存状态:free
用法 free -m -s (-m表示内存
示例:free -m -s 3

top(类型于windows下面的资源管理器)

ps列出进程 用法:ps -aux

管道操作:ps -aux | grep nginx

kill 进程号 ,root身份运行
pkill 进程名,注意杀所有 *进程名*的进程

 

四、vi编辑器命令(非常重要)
我们实际是使用vim,即vi的加强版,有代码高亮等实用功能
默认打开一个文件后,首先停留在命令模式里 vim a.txt
按i,a,o,s都可以进入编辑模式
在编辑模式(和记事本没区别)里,我们可以自由输入,而在命令模式只能输入快捷键(快速复制一行,编辑一行),尾行模式是保存,退出用的,ctrl+j是换行
进入尾行模式要先进入命令模式,编辑模式按esc切换到命令模式,然后按shift+:进入尾行模式,q表示退出 w表示保存 !为强制 (可以是保存退出 qw 可以是强制退出q!)

命令模式下的光标快捷键移动键
字符级移动 h左移一个字符 l右移一个字符
单词级移动 w移动到下个单词首 e移到本单词尾 b移到本单词首
行级移动 $移到行尾 0移到行首 j下移一行 k上移一行
初级移动 {上移一段 }下移一段
屏级移动 H移到本屏幕第一行 L移到本屏幕最后一行

页面级移动 ctrl+B上一页 ctrl+F下一页
文章级移动 G移动文章末尾 1G移到文章开头(set number显示行号,set nonumber 简写set nu , set nonu)

命令模式下的快捷删除
1:d+光标快捷移动键
2:x 删除当前字符
3:dd删除一行
命令模式下的复制
1:v+光标移动键+y
2:yy 复制一行
3:yny 复制n行,n为数字
命令模式下的粘贴命令
p

有效的命令组合
xp 交换两个字符
ddp交换两行

其它命令
. 重复上一次命令
u 撤消
j 合并两行

尾行模式,则相对简单一些
w 保存
q 退出
wq 保存+退出
!表示强制
q! 不保存,强制退出

 

五、用户和组操作命令用户和组
增加组 groupadd
修改组 groudmod
删除组 grouddel

增加用户 usradd
修改用户 usermod
删除用户 userdel

groupadd 增加一个用户组
所有组都在 /etc/grounp下,查看方式more /etc/grounp 
查看用户 tail -3 /etc/passwd
添加用户,指定组,一般都是这样,不然一个用户一个组就没意义了:useradd 用户名 -g 组名
或者
增加一个组,添加mysql用户属于mysql组:groupadd mysql         useradd -r -g mysql mysql
为某用户设置密码:passwd 用户名

 

三、Linux进阶命令

一、权限管理
读 read,r,4
写 write,w,2
执行 excute,x,1
有7种搭配:rwx为7 因为1 2 4刚好是二进制111

用户的三种身份
u      g      o(user group other)
rwx   rx     r
ugo
755

例子:-rwxrw-r--
对于 for.sh文件
主人有读写及执行权
对于与主人同组的人,有读写权
而其他人,则只有读权力

修改权限
相对修改法:用rwx操作
例如,对s.sh文件,让它可以执行
chmod u+x s.sh
例子2:对于test.sh 权限为-rwxr--r-- 需要修改成-----wx--x
需要执行
chmod u-rwx test.sh
chmod g-r+wx test.sh
chmod o-r+x test.sh
绝对修改法:用数字操作
此时不想要之前的了,之前改回来 chmod 744 test.sh 
改主人:chown -R mysql 把权限全部交给mysql
改组:chgrp -R mysql 把root的组都改成mysql


二、rpm安装
rpm是一个开放的软件包管理系统。使用它最大的好处在于它提供快速之安装,减少编译安装的困扰。安装、卸载和升级rpm软件包均只需一条命令即可完成
安装文件 :rpm -i vsftpd-2.2.2-14.el16.x86_64.rpm (全名)
卸载文件:rpm -e vsftpd(只要名称)
升级文件:rpm -Uvh vsftpd-2.2.2-14.el16.x86_64.rpm
查询:
查询 vsftpd 软件包在系统中是否安装:rpm -q vsftpd
升级查询 rpm -qa | grep vsftpd
。。。

 

三、yum安装,软件管理器
基础性的软件和底层的库适合用yum安装
yum是一个用于管理rpm包的后台程序,用Python写成,可以非常方便的解决rpm的依赖关系。
在建立好yum服务器后,yum客户端可以通过http、ftp方式获得软件包,并使用方便的命令直接管理、
更新所有的rpm包,甚至包括kernel的更新。它也可以理解为红旗环境下的apt管理工具

1、列举包文件
列出资源文件库中所有可以安装或更新的rpm包 #yum list
列出资源库中特定的可以安装或更新以及已经安装的rpm包
yum list perl 列出名为perl的包
yum list perl* 列出perl开头的包
yum list updates 列出资源库中所有可以更新的rpm包 
yum list installed 列出已经安装的所有的rpm包
yum list extras 列出已经安装的但是不包含在资源库中的rpm包(注:extras是repos.d中定义的资源列表名称)

4、管理包
安装rpm包
yum install perl  安装perl包
yum install perl* 安装perl开头的包
删除rpm包,包括与该包含有依赖性的包
yum remove perl 删除perl 所有包

更新
yum check -update 检查可更新的rpm包


四、软件编译
软件编译就是把 源代码(如:c,c++)编译成2进制(注意要下载源码)
一般把文件下载到 /usr/local/src
编译软件分为3步
1、configure --prefix=/安装/路径【准备将软件安装在哪里】
如果还有其他选项,./configure --help 来查看
2、make 编译【生成二进制】
3、make install【把生成的2进制复制到prefix指定的安装路径里】
其中2,3两步可以合写为make&&make install

网络通:ping id
端口号不通 :telnet ip 端口
可能的原因是防火墙,关掉防火墙:service iptables stop


五、shell编程,知道概念就好
什么是shell?
首先打开一个终端,在终端里面能操作的,如cd,cp等,以及在终端里执行的命令,如date,echo 等,
都能同样写进.sh脚本里面去,此时你可以把文件理解成一个命令包,运行一个文件相当于运行了里面多个操作和命令(像Windows下的.bat文件)
简单的simple.sh
用vim simple.sh写,没有该文件自动创建,脚本执行需要解释器,在/bin/bash下,
运行:二种方式
第一种,直接调用 ./simple.sh 在当前目录执行它
第二种:bash simple.sh 或者 /bin/bash simple.sh 通过bash执行器执行
#!/bin/bash
cd /var/tmp/
pwd

执行如果没有权限,修改权限 
查看权限:ll
修改权限:chmod u+x simple.sh
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值