Linux入门使用教程 linux如何入门
yuyutoo 2024-10-12 00:18 1 浏览 0 评论
Linux入门
一、初始化配置
CentOS初始化安装
在开始熟悉Linux操作命令之前,我们必须先搭建好Linux操作系统环境,我们这里选用的是Linux的发行版本CentOS7,在安装好CentOS操作系统后,我们还需要在系统上进行一系列的初始化操作。
1. 第一次安装好Linux后我们需要进行初始化配置,比如设置管理员密码、打开网络接口等。
首先设置管理员密码,输入sudo passwd进行设置
2. 设置密码后我们需要学会使用超级权限命令su。在界面中输入su然后输入密码可以进入超级管理模式,此时可以获得系统的最高管理权限,我们在更改系统类型的文档时就不会出现权限不够的情况。
3. 接下来需要设置网络,由于是第一次使用,系统的网络接口可能处于关闭状态,此时我们需要手动打开
CentOS网络配置
开启网络连接:
(1) 输入cd /etc/sysconfig/network-scripts命令,打开/etc/sysconfig/network-scripts文件夹。
(2) 输入ls命令,查看network-scripts目录下所有文件。
(3) 输入vi ifcfg-enp33,编辑ifcfg-enp33文件。
(4) 将ONBOOT原本为no,设置为yes,按ESC键,输入:wq命令,保存文件并退出。
(5) 输入service network restart命令,重启网络。
(6) 安装net-tools.x86_64 net-tools.x86_64
yum search ifconfig //查找有没有ifconfig文件
yum -y install net-tools.x86_64
(7) 输入ifconfig 查看网络连接。
此时我们使用ping命令ping以下外网,比如百度:
ping www.baidu.com
可以看到百度的地址被成功的解析出来,数据包也可以正常的发送。
到这里初始化配置就结束了,可以开始正常使用Liunx操作系统了。
二、Bash Shell管理Linux
初识shell
GUN bash
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
我们可以使用SHELL实现对Linux系统的大部分管理例如:
1. 文件管理
2. 用户管理
3. 权限管理
4. 磁盘管理
5. 软件管理
6. 网络管理 ......
1、bash shell提示符
2、shell语法
shell语法命令由命令 选项 参数构成
例如输入ls命令,可以显示当前目录下的所有文件,输入ls命令和-a参数可以显示当前文件夹下的所有文件,输入ls命令和-a参数再加上/home可查看/home下的隐藏文件,这里的/home是一个路径。其中选项和命令可以有多个。
在Linux中以“.”开头命名的文件都是隐藏文件,
3、bash基本特征
1. 自动补全<tab>
当我们在输入Linux命令或者文件名称或者文件目录时,即使我们没有完整的输入语句,我们可以按<tab>键来实现命令补全
# ls /etc/sysconfig/network-scripts/
# ls /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# systemctl restart crond.service
# date -s 12:30
4、快捷键
我们在Linux命令行输入快捷键时,比如Ctrl+C,界面上会显示^C
^C 终止前台运行的程序 //ping 10.18.40.100
^D 退出 等价exit
^L 清屏
^A 光标移到命令行的最前端 //编辑命令
^E 光标移到命令行的后端 //编辑命令
^U 删除光标前所有字符 //编辑命令
^K 删除光标后所有字符 //编辑命令
^R 搜索历史命令,利用关键词
Alt+. 引用上一个命令的最后一个参数,等价于!$
ESC . 引用上一个命令的最后一个参数,等价于!$
# ls /etc/sysconfig/network-scripts/ifcfg-eth0
# cat ESC
使用快捷键可以完成复杂命令的快速编辑。
三、Linux中获得帮助
- 命令--help
#ls --help
用法:ls[选项]…[文件]
ls 常见选项
-a all,查看目录下的所有文件,包括隐藏文件
-l 长列表显示
-h human 以人性化方式显示出来
-d 只列出目录名,不列出其他内容
-t 按修改时间排序
-S 按文件的Size排序
-r 逆序排列reverse
-i 显示文件的inode号(索引号)
例:
注:ll=ls -l
date --help
用法:date [选项]... [+格式]
例:
date
date +%F
date +%h-%m
touch `date +%F`_file.txt
注:先运行date +%F命令再创建一个文件
改时间:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
注:“|“表示或者,第一个”[]“内三选一也可以不写,[月日时分[世纪(可以不写)]年][秒]]
# date 0214080019
# date 0214080019.30
date -s 12:00(将时间改为12:00)
- man手册名(针对命令帮助,针对配置文件帮助,针对函数帮助)
man ls
man 1 ls(显示第一章)(较少使用)
例:按章节查询
/usr/bin/passwd 修改用户口令命令
/etc/passwd 包含用户信息的配置文件
两个命令重复
# man -f passwd 列出所有章节中的passwd手册
# man 1 passwd passwd命令的帮助
# man 5 passwd 用户配置文件的帮助
在所有章节中查询
man -a passwd
四、Linux目录结构
在使用Linux操作系统时,了解其文件系统可以更好的帮助我们去理解它的操作逻辑。
Linux 磁盘分区和目录
Linux 发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同。目录结构基本上都是一样的。 Windows 的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如:C,D,E,F等。Linux 的文件结构是单个的树状结构 . 可以用 tree 进行展示。
每次安装系统的时候我们都会进行分区, Linux 下磁盘分区和目录的关系如下:
- 任何一个分区都必须挂载到某个目录上。
- 目录是逻辑上的区分。分区是物理上的区分。
- 磁盘 Linux 分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。
- 根目录("/”)是所有 Linux 的文件和目录所在的地方,需要挂载上一个磁盘分区。
例如:
其中浅蓝色的位置为文件夹的链接,其实际文件组织结构如下图:
使用<cd 文件名>可进入到当前目录下的文件,<cd /文件名/文件名>表示使用绝对路径进入到该文件夹。
使用<cd ..>返回上一层目录。
五、Linux文件路径
路径的作用:定位文件
(思考)要在哪定位文件
将什么文件复制到什么地方
要删除什么地方的文件呢
举例:【root@localhost ~】# /etc/hostname
(意为在根下的etc下的hostname的文件,/etc/hostname为路径) 所以我们是通过路径的方式对文件进行定位。
message便是根下的var下的log下的massage
/home/alice/file1 和 /home/bob/file1 不是同一文件!
/abc/file2 和 abc/file2 有可能是不一样的!
(前者的abc之前有/声明在根目录下,而后者是指当前目录下的abc)
绝对路径: 从/开始的路径 /home/alice/file1 (明确标识了/的文件)
相对路径: 相对于当前目录开始 a.txt ./a.txt ../bob/a.txt [假如:此时在目录/home/alice]
(意为在home下的alice下的一个txt文件)
绝对路径示例:
# useradd alice
# touch /home/alice/file1
# touch ~/file2 (~表示当前文件的家)
# touch ~alice/file3
相对路径示例:
# pwd
/root
# mkdir abc
# touch ../file3
# touch file4
# touch abc/file5
cd 改变目录(或者说切换目录)
cd 绝对路径 cd /home/alice cd ~alice
cd 相对路径 cd Desktop/abc cd .. cd .
cd 专用:
cd - 返回上次目录
cd 直接回家
(无论去到哪里,输入cd可以直接回去)
六、Linux文件管理
1. 文件管理之:创建/复制/移动/删除
创建
文件 touch
# touch file1.txt //无则创建,有则修改时间
# touch file3 file4
# touch /home/file10.txt
# touch /home/file5 file6
# touch /home/{wzry.hpjy}
# touch file{1..20}
# touch file{a..c}
# touch die{a,b,c} //{}集合,等价touch yanga yangb yangc
目录 mkdir
# mkdir dir1
# mkdir /home/dir2 /home/dir3
# mkdir /home/{dir4,dir5}
# mkdir -v /home/{dir6,dir7}
# mkdir -v /hoem/dir8/111/22
# mkdir -pv /hoem/dir8/111/222 //包括其父母的创建,不会有任何消息输出
# mkdir -pv /home/{yang/{dir1,111},bbts}
复制 cp
Usage: cp [OPTION]... [-T] SOURCE DEST
# cd
# mkdir /home/dir{1,2}
# cp -v anaconda-ks.cfg /home/dir1 //目录
# cp -v anaconda-ks.cfg /home/dir1/yang.txt //文件
# cp -rv /etc /home/dir1
# cp -v anaconda-ks.cfg /home/dir90 //没有/home/dir90
# cp -v anaconda-ks.cfg /home/dir2
# cp -v file1 !$
# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/hostname /home/dir2 //
将多个文件拷贝到同一个目录
# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/hostname /etc/hosts .
# cp -r /etc /tmp
# cp -rf /etc /tmp
# \cp -r /etc /tmp
移动 mv
Usage: mv [OPTION]... [-T] SOURCE DEST
# mv file1 /home/dir3 将file2移动到/home/dir3
# mv file2 /home/dir3/file20 将file2移动到/home/dir3,并改名为file20
# mv file4 file5 将file4重命名为file5,当前位置的移动就是重命名
删除 rm
示例:
手动删除: /home/dir1
# cd /home
# rm -rf dir1
-r 递归
-f force强制
-v 详细过程
脚本删除: /home/dir1
rm -rf /home/dir1
2. 文件管理之:查看文件内容
文本文件 (cat tac less more head tail tailf grep ...)
/bin/date
/etc/hosts
/etc/hostname
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/passwd
/etc/shadow
/etc/group
/etc/grub2.cfg
/etc/resolv.conf
/etc/profile //设置系统环境变量
/etc/bashrc //影响bash shell环境
/var/log/messages //系统主日志文件
/var/log/secure //跟安全相关的日志如ssh登录,本地登录...
cat
-n 显示行号
-A 包括控制字符(换行符/制表符)
linux $
Windows ^M$
示例:b.txt为windows记事本修改
# wget ftp://10.18.40.100/b.txt
# cat -A b.txt
a^M$
# yum -y install dos2unix
# dos2unix b.txt
dos2unix: converting file b.txt to Unix format ...
]# cat -A b.txt
a$
less more head tail tailf
# head /etc/passwd
# head -2 /etc/passwd
# tail /etc/passwd
# tail -1 /etc/passwd
# tail /var/log/messages
# tail -20 /var/log/messages
# tail -f /var/log/secure //-f 动态查看文件的尾部
# tail -F /var/log/secure //-F 动态查看文件的尾部
注:vim, gedit编辑文件时,索引号会改变
grep 针对文件内容进行过滤
# grep 'root' /etc/passwd
# grep '^root' /etc/passwd
# grep 'bash#39; /etc/passwd
# grep 'Failure' /var/log/secure
Centos常用命令
1.文件与目录操作
命令 | 解析 | 演示 |
cd /home | 进入 ‘/home’ 目录 | |
cd .. | 返回上一级目录 | |
cd ../.. | 返回上两级目录 | |
cd - | 返回上次所在目录 | |
cp file1 file2 | 将file1复制为file2 | |
cp -a dir1 dir2 | 复制一个目录 | |
ls | 查看目录中的文件 | |
ls -a | 显示隐藏文件 | |
ls -l | 显示详细信息 | |
ls -lrt | 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序) | |
pwd | 显示工作路径 | |
mkdir dir1 | 创建 ‘dir1’ 目录 | |
mkdir dir1 dir2 | 同时创建两个目录 | |
mkdir -p /tmp/dir3/dir4 | 创建一个目录树 | |
mv dir1 dir2 | 移动/重命名一个目录 | |
rm -f file1 | 删除 ‘file1’ | |
rm -rf dir1 | 删除 ‘dir1’ 目录及其子目录内容 |
2.查看文件内容
命令 | 解析 | 演示 |
cat file1 | 从第一个字节开始正向查看文件的内容 | |
head -2 file1 | 查看一个文件的前两行 | |
more file1 | 查看一个长文件的内容 | |
tac file1 | 从最后一行开始反向查看一个文件的内容 | |
tail -3 file1 | 查看一个文件的最后三行 | |
vi file | 打开并浏览文件 |
3.文本内容处理
命令 | 解析 | 演示 | |
grep str /tmp/test | 在文件 ‘/tmp/test’ 中查找 “str” | ||
grep ^str /tmp/test | 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行 | ||
grep [0-9] /tmp/test | 查找 ‘/tmp/test’ 文件中所有包含数字的行 | ||
grep str -r /tmp/* | 在目录 ‘/tmp’ 及其子目录中查找 “str” | ||
diff file1 file2 | 找出两个文件的不同处 | ||
sdiff file1 file2 | 以对比的方式显示两个文件的不同 | ||
vi file | 操作 | 解析 | |
i | 进入编辑文本模式 | ||
Esc | 退出编辑文本模式 | ||
:w | 保存当前修改 | ||
:q | 不保存退出vi | ||
:wq | 保存当前修改并退出vi |
4.查询操作
命令 | 解析 | 演示 |
find / -name file1 | 从 ‘/’ 开始进入根文件系统查找文件和目录 | |
find / -user user1 | 查找属于用户 ‘user1’ 的文件和目录 | |
find /usr/bin -type f -atime +100 | 查找在过去100天内未被使用过的执行文件 |
5.文件压缩与解压
命令 | 解析 | 演示 |
gzip file1 | 压缩 file1 | |
gunzip file1.gz | 解压 file1.gz | |
tar -c archive.tar file1 | 把file1打包成 archive.tar(-c: 建立压缩档案) | |
tar -xvf archive.tar -C /tmp | 把压缩包释放到 /tmp目录下 | |
zip file1.zip file1 | 创建一个zip格式的压缩包 | |
unzip file1.zip | 解压一个zip格式的压缩包到当前目录 | |
unzip test.zip -d /tmp/ | 解压一个zip格式的压缩包到 /tmp 目录 |
6.yum安装器
命令 | 解析 | 演示 |
yum -y install [package] | 下载并安装一个rpm包 | |
yum localinstall [package.rpm] | 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系 | |
yum -y update | 更新当前系统中安装的所有rpm包 | |
yum update [package] | 更新一个rpm包 | |
yum remove [package] | 删除一个rpm包 | |
yum list | 列出当前系统中安装的所有包 | |
yum search [package] | 在rpm仓库中搜寻软件包 | |
yum clean [package] | 清除缓存目录(/var/cache/yum)下的软件包 | |
yum clean headers | 删除所有头文件 | |
yum clean all | 删除所有缓存的包和头文件 |
7.网络相关
命令 | 解析 | 演示 |
ifconfig eth0 | 显示一个以太网卡的配置 | |
ifdown eth0 | 禁用 ‘eth0’ 网络设备 | |
ifup eth0 | 启用 ‘eth0’ 网络设备 | |
ip addr show | 显示网卡的IP地址 |
8.系统相关
命令 | 解析 | 演示 |
su - | 切换到root权限(与su有区别) | |
shutdown -h now | 关机 | |
shutdown -r now | 重启 | |
top | 罗列使用CPU资源最多的linux任务 (输入q退出) | |
man ping | 查看参考手册(例如ping 命令) | |
passwd | 修改密码 | |
df -h | 显示磁盘的使用情况 | |
cal -3 | 显示前一个月,当前月以及下一个月的月历 | |
cal 10 1988 | 显示指定月,年的月历 |
相关推荐
- jQuery VS AngularJS 你更钟爱哪个?
-
在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQueryVSAngularJS?...
- Jquery实时校验,指定长度的「负小数」,小数位未满末尾补0
-
在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,在输入数据时,实时校验输入内容是否正确,失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。HTML代码...
- 如何在pbootCMS前台调用自定义表单?pbootCMS自定义调用代码示例
-
要在pbootCMS前台调用自定义表单,您需要在后台创建表单并为其添加字段,然后在前台模板文件中添加相关代码,如提交按钮和表单验证代码。您还可以自定义表单数据的存储位置、添加文件上传字段、日期选择器、...
- 编程技巧:Jquery实时验证,指定长度的「负小数」
-
为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。HTML代码<inputtype="text"class="forc...
- 一篇文章带你用jquery mobile设计颜色拾取器
-
【一、项目背景】现实生活中,我们经常会遇到配色的问题,这个时候去百度一下RGB表。而RGB表只提供相对于的颜色的RGB值而没有可以验证的模块。我们可以通过jquerymobile去设计颜色的拾取器...
- 编程技巧:Jquery实时验证,指定长度的「正小数」
-
为了保障【正小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【正小数】的方法。HTML做成方法<inputtype="text"class="fo...
- jquery.validate检查数组全部验证
-
问题:html中有多个name[],每个参数都要进行验证是否为空,这个时候直接用required:true话,不能全部验证,只要这个数组中有一个有值就可以通过的。解决方法使用addmethod...
- Vue进阶(幺叁肆):npm查看包版本信息
-
第一种方式npmviewjqueryversions这种方式可以查看npm服务器上所有的...
- layui中使用lay-verify进行条件校验
-
一、layui的校验很简单,主要有以下步骤:1.在form表单内加上class="layui-form"2.在提交按钮上加上lay-submit3.在想要校验的标签,加上lay-...
- jQuery是什么?如何使用? jquery是什么功能组件
-
jQuery于2006年1月由JohnResig在BarCampNYC首次发布。它目前由TimmyWilson领导,并由一组开发人员维护。jQuery是一个JavaScript库,它简化了客户...
- django框架的表单form的理解和用法-9
-
表单呈现...
- jquery对上传文件的检测判断 jquery实现文件上传
-
总体思路:在前端使用jquery对上传文件做部分初步的判断,验证通过的文件利用ajaxFileUpload上传到服务器端,并将文件的存储路径保存到数据库。<asp:FileUploadI...
- Nodejs之MEAN栈开发(四)-- form验证及图片上传
-
这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...
- 大数据开发基础之JAVA jquery 大数据java实战
-
上一篇我们讲解了JAVAscript的基础知识、特点及基本语法以及组成及基本用途,本期就给大家带来了JAVAweb的第二个知识点jquery,大数据开发基础之JAVAjquery,这是本篇文章的主要...
- 推荐四个开源的jQuery可视化表单设计器
-
jquery开源在线表单拖拉设计器formBuilder(推荐)jQueryformBuilder是一个开源的WEB在线html表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)