Linux基础知识入门

时间:2021-11-21 16:43:44

前言:
最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里.

1,V8:192.168.40.10
V1:192.168.40.11
Linux ip:192.168.40.128

2,Linux是一个操作系统, 与windows的区别:
Linux:图形化界面简单,性能很快,在企业中当做服务器来使用.
Windows:图形化界面很炫,性能相对差,大众用户.
windows的服务器: windows2003,windows2008,windows2012

3,Linux的作用:
当做服务器来使用

4,Linux中目录结构:
bin:存放二进制可执行文件
sbin: 存放二进制可执行文件,只有root才能访问
etc:存放系统配置文件
usr:用于存放共享的系统资源
home:存放用户文件的根目录
root:超级的用户目录
dev:用于存放设备文件
lib:存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt:mount系统管理员安装临时文件的安装点
boot:存放用于系统引导时使用的各种文件
tmp:用于存放各种临时文件
var:用于存放运行时需要改变数据的文件(log日志)

5,NetWork connection:
Host-only:本地跟远方的Linux通信需要用这个
NAT:多个Linux系统之间相互通信

6,使用SecureCRT

Linux命令:
ifconfig: 查看ip
service network restart:重启
命令分类:
内部命令:执行shell解析器的一部分,存放在bash目录,执行速度快,不需要创建子进程
cd:切换目录change directory
pwd:显示当前工作目录 print working directory
help:帮助

外部命令:独立于Shell解析器之外的文件程序,执行速度慢,一般存放在bin/sbin/usr/sbin/此类目录,执行时创建子线程.
ls:显示文件和目录列表
mkdir:创建目录
cp:复制文件或目录

操作文件或目录的命令:
pwd
touch:创建空文件
echo:写文件内容: echo "aaa">a.txt
mkdir:创建目录
-p父目录不存在的情况下先生成父目录
cp:复制文件或目录
-r:递归处理,将指定目录下的文件与子目录一并拷贝
mv:移动文件或目录,文件或目录改名
rm:删除文件
-r同时删除该目录下的所有文件
-f强制删除文件或目录
rmdir:删除空目录
cat:显示文本文件内容
more,less:分页显示文本文件内容
head,tail:查看文本中开头或结尾部分的内容.

查看帮助文档:
内部命令 :help+命令(help cd)
外部命令: man+命令(man ls)

7,常见命令
===========常用命令=============
一,目录与文件命令
1,目录处理命令:mkdir,rm,ls,find,cd,mv,cp,pwd,chmod
2,操作文件命令:touch,rm,find,cat,more,less
3,压缩/解压命令:gzip,bzip2,tar
4,其他常用命令:head,tail,wc,in,mount

二,用户操作命令
useradd,userdel,usermod

三,用户组操作命令
groupadd,groupdel,groupmod

四,安装软件命令
yum,rpm

五,网络命令
ping,ifconfig,netstat

===========================
echo "welcome to linux" > a.txt: 往a.txt中写入字符
cat a.txt: 查看a.txt中的内容
ctrl+L: 清屏
ctrl + z: 退出(cat > file 写入文件时使用这个键退出写入)
vi模式下: 编辑完成后点esc ,然后 如果要保存退出输入:wq,不保存退出输入:q!
点击esc, shift + z + z 退出并保存
============详解============
mkdir:创建目录 (touch a.txt :创建文件)
mkdir dir : 创建名称叫做dir目录, 创建单个目录
mkdir dir1 dir2 : 创建多个目录,dir1, dir2
mkdir dir{3..10}: 创建dir3 dir4...dir10

cp:copy复制
复制文件: 
cp a.txt b.txt: 复制a.txt 且复制后的文件名为b.txt
cp a.txt dir: 将a.txt拷贝到dir文件夹下
cp *.txt dir
cp ../*.txt ../dir2:将上一级目录下的所有txt文件拷贝到上一级目录的dir2文件夹下
cp ../file* . //拷贝到上一级目录下的所有file文件到当前目录

复制目录:
cp -r dir1 dir2: 将dir1 目录复制到dir2目录中
cp -r dir/* dir1/ : 将dir中的所有文件和目录复制到dir1目录中

mv:目录移动(剪切)
移动文件:
mv file1 file2 //如果file2不存在,将file1重命名为file2
mv file2 file1//将file2命名为file1, 如果file1中有内容, 则覆盖
mv dir/* dir1//将dir 中所有目录及文件移动到dir1目录中

移动目录:
mv dir dir1//将dir目录移动到dir1目录中
mv dir2 dir3 dir1//将dir2和dir3移动到dir1中

rm:remove 删除
删除文件:
rm a.txt //删除a.txt
rm a.txt b.txt //同时删除a.txt b.txt
rm *txt//删除所有扩展名为txt的文件
rm -rf dir1/* //强制删除dir1下所有文件和目录

删除目录:
rm -rf dir1// 删除dir1 下的所有文件和目录, f是强制删除, 不需要提示

cd:切换目录
cd .. //跳转到上一级目录
cd ~ //跳转到根目录
cd /usr/local //跳转到usr下的local目录

pwd:显示当前的目录

touch:创建文件
语法:touch filename

touch myfile1//创建单个文件,文件名为myfile1
touch myfile2 myfile3//同时创建两个文件
touch myfile{1..10}//创建多个文件

cat
功能1: 查询文件内容,查询全部文件内容(如果文件过大, 会卡死)
cat filename// 查看文件名filename的文件内容

功能2: 可以创建文件, 并且写入内容
cat > myfile10

功能3:合并文件,合并内容
cat myfile1 myfile2 > myfile10//将myfile1 和 myfile2 中的内容合并到myfile10中, myfile10中内容被覆盖

more: 查看文件, 可以分页查看
+n 从第几行开始
-n 定义屏幕显示多少行

more myfile//分页查看myfile文件
more +3 myfile//从第三行开始查看myfile文件
more -2 myfile//每页显示两行
more +/pattern myfile//从myfile中搜索pattern, 结果显示在第三行

less: 查看文件, 分页上下翻滚页

head: 查看文件, 分页显示, 每页只显示10条
head myfile// 默认每页只显示10条
head -n 5 myfile//查看myfile1,每页显示5条记录
head -c 12 myfile//查看myfile,只显示前面12字节符

tail:查看文件, 实时监控文件
tail -f myfile// 实时监控myfile文件的变化

which:查找命令
which 命令
which mv//将mv命令的别名和mv所在的位置都给查询出来

whereis: 查找命令
whereis mv: 查找命令的所在位置, 帮助文档,命令源码

locate: 查找文件
locate myfile//搜索出来myfile所在目录, 需要先刷新db, 使用命令: updatedb
新创建的文件搜索不到,新创建的文件被放在Linux的文件数据库, 需要属性文件数据库才能够找到

find: 查找文件
find -name myfile//根据文件名, 在当前的目录进行查询
find -name "myfile"//和上面一个没有区别
find /etc/ /root/ -name "*[A-Z]*" //查询目录etc和root下以A-Z开头的所有文件
find /etc/ /root/ -name "*[A-Z]*" -exec ls -l {} \;// 把查询结果交给ls命令继续执行, 显示前面查询结果详细信息.
-exec:执行,执行后面的命令,执行ls -l命令
{}: 标识查询结果在一行显示
\; :命令要使用很好结束,斜杠是用来转义的.

| (管道命令)
把前面的查询结果交给后面的命令进行执行
ls -al | more -5 //查询所有,把查询的结果交给more命令去执行

grep (过滤命令) 经常和管道命令一起使用
ps -ef | grep svn//查询所有进程, 过滤查询svn

ln: 连接命令,创建快捷方式
ln -s myfile link//给myfile创建一个快捷方式link

top:显示当前系统中消耗资源的进程情况
top //每隔5秒显示徐偶有进程的资源占用情况
top -d 2//每隔2秒刷新

ps: 查看进程(常用)
ps -ef//查看所有进程
ps -ef | grep redis //查看redis进程是否存在

kill: 杀死进程(常用)
kill -9 PID

df: 显示磁盘使用情况
df -h//查看当前磁盘使用情况, 包括占用量单位

shutdown: 关机
shutdown 系统关机
shutdown -r 关机后立即重启
shutdown -h 关机后不重新启动

halt: 关机后关闭电源

reboot: 重新启动

=============================解压缩命令
gzip zip bzip2 压缩命令

gzip: 压缩文件, 不能够压缩目录
gzip file3// 把file3压缩, 压缩后文件名变为: file3.gz

gunzip: 解压
gunzip file3.gz//解压单个文件
gunzip file1.gz file2.gz //解压多个文件
通常使用 gzip -d 来解压
gzip -dv file1.gz// 解压file1, v 是视图可以看到解压过程

bzip2和gzip压缩方式一样

zip:
zip myzip.zip file1 //将file1 压缩成myzip.zip
unzip myzip.zip// 解压

tar: 打包命令, 将多个文件压缩成一个文件
tar -cvf dir.tar dir//将dir目录下所有文件打包成dir.tar
tar -xvf dir1.tar//解包

gzip dir.tar //压缩tar文件变成dir.tar.gz
tar -zxvf dir.tar.gz//解压dir.tar.gz到dir
-z:解压gz扩展名的文件
-x:解压tar包
-v:显示执行过程
-f:指定解压文件

bzip2 dir.tar//使用bzip2压缩tar包: dir.tar.bz2
tar -jxvf dir.tar.bz2//解压bzip2格式包

==============vim文本编辑器
vim进入编辑器
vi有3总模式: 插入模式,命令模式,低行模式
1,插入模式
i 进入插入模式

2,命令模式
esc 进入命令模式

3,底行模式
:或者/ 进入底行模式

在命令模式下:
基本:
a:在当前光标位置的右边添加文本
i:在当前光标的位置的左边添加文本
A:在当前行的末尾位置添加文本
I:在当前行的开始处添加文本
O: 在当前行上面创建一行
0: 在当前行下面创建一行
R:替换(覆盖)当前光标位置及后面的若干文本
J:合并光标所在行及下一行为一行

删除,撤销:
x:删除当前字符
nx: 删除从光标开始的n个字符
dd:删除当前行
ndd:删除n行
u:撤销上一步操作
U:撤销当前行的操作

搜索:
/vpser: 向光标下搜索vpser字符串
?vpser: 向光标闪搜索vpser字符串
n: 先下搜索前一个搜索动作
N: 向上搜索前一个搜索动作

跳转指定行:
n+: 向下跳转n行
n-: 向下跳转n行
nG: 调到行号为n的行
G: 跳至文件的底部

设置行号:
:set nu //显示行号
:set noun//取消显示行号

复制粘贴:
yy: 将当前行复制到缓存区
nyy:将当前行向下n行复制到缓存区
p: 当前行的下面进行粘贴
P: 当前光标所在行的上面进行粘贴
yw:复制光标到单词词尾
nyw:复制从光标开始的n个单词
y^: 复制从光标到行首的内容
y$: 复制从光标到行尾的内容

替换:
:s/old/new //用new替换行中首次出现的old 这个单词为new
:s/old/new/g //用new替换当前行中所有的old单词
:n,m s/old/new/g //用new替换从n到m行在哪个所有的old单词
:%s/old/new/g //用new替换当前文件中的所有old

8,权限管理
==================权限管理
-rwxrw-r--
- :类型
rwx:所属用户权限
rw-:所属组权限
r--:其他用户权限

最高位:文件类型
-: 普通文件
d: 目录
l: 快捷方式文件

高三位:u 所属用户权限(rwx)
中间三位:g 用户所属组权限(rw-)
第三位:o 其他用户权限(r--)
设置权限第一种方式举例:
---------- file1: file1 无权限 (使用chmod 0 file1 就取消所有权限)
设置权限: (x:执行权限 r:读权限 w:写权限)
chmod u+x file1----> ---x------ file1
chmod u+r file1----> -r-x------ file1
chmod g+w file1----> -r-x-w---- file1
chmod g+rx file1---> -r-xrwx--- file1
chmod o+rwx file1--> -r-xrwxrwx file1

chomod o=x file1---> -r-xrwx--x file1

设置权限第二种方式举例:
用421来代表rwx, 对应关系如下:
421 421 421
rwx rwx rwx

chmod后面每一位数字匹配三位: 3=2(w)+1(x) 5=4(r)+1(x)

chmod 421 file1-----> -r---w---x file1 (4代表用户的读权限,2代表组的写权限,1代表其他用户的执行权限)
chmod 354 file1-----> -rwxrwxw-x file1

9,安装软件
=======================安装软件
rpm: 安装麻烦 不建议使用
yum: 支持在线升级

1,关联dvd磁盘到本地: 右键CentOS 选择Settings, 然后找到CD/DVD 选择connected即可.
Linux基础知识入门
Linux基础知识入门

2,Yum命令支持在线升级,执行yum命令的时候,检测/etc/yum.repos.d/下面所有repo文件.
repo文件里面存储的是网址,yum命令检测repo文件里面网址直接去网上下载.
可以把repo文件修改, 让repo文件指向本地的dvd盘.
3,挂载dvd盘到mnt目录
挂载命令:mount /dev/cdrom/ mnt/
挂载成功截图:
Linux基础知识入门

Linux基础知识入门

4,修改repo文件
先备份repo文件: rename .repo .bak * //将所有repo扩展名的文件修改为后缀为.bak
创建自己的repo文件,指向本地文件:touch mine.repo
进入vim编辑repo文件: vim mine.repo
[centos6.6]
name=centos-dvd
baseurl=file:///mnt
gpgcheck=0
enabled=1
清空yum源:yum clean all
加载yum源:yum repolist all
Linux基础知识入门

安装mysql: yum install mysql-server

Linux基础知识入门
启动mysql:service mysqld start

Linux基础知识入门
登录数据库:mysql -uroot p

Linux基础知识入门
查询数据库:show databases;

======================安装jdk和tomcat
1, 先将jdk和tomcat传输到Linux root目录下
Linux基础知识入门
2, 在usr/local 下建立文件夹存放jdk和tomcat安装包: mkdir hadoop
Linux基础知识入门
3, 移动root目录下安装包 到 usr/local目录下: mv jdk-7u55-linux-i586.tar.gz apache-tomcat-7.0.47.tar.gz /usr/local/hadoop/

Linux基础知识入门
4, 解压安装包: tar -zxvf jdk-7u55-linux-i586.tar.gz 
tar -zxvf apache-tomcat-7.0.47.tar.gz
5,配置环境变量: vim profile
在最后一行添加: export JAVA_HOME=/usr/local/hadoop/jdk1.7.0_55
export PATH=$JAVA_HOME/bin:$PATH
Linux基础知识入门
6,刷新设置: source /etc/profile
7,查看是否安装成功:java -version

常见问题:
1,修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题
解决方案:在64系统里执行32位程序如果出现/lib/ld-linux.so.2: 
bad ELF interpreter: No such file or directory,
安装下glic即可:sudo yum install glibc.i686
2,error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
使用:sudo yum install zlib.i686 
Linux基础知识入门

====================安装lrzsz(可以上传文件到指定目录)
1,安装:yum install lrzsz
2,安装后使用命令: cd /usr/local/hadoop/
rz: 直接弹出传输对话框
3,将tomcat传递到hadoop目录下
4,启动tomcat
cd /usr/local/hadoop/apache-tomcat-7.0.47/bin/
./startup.sh

分类: Linux