一个完整的操作系统=操作系统内核+配套的应用程序。我们熟知的Linux是一个操作系统(和Windows都是并列的关系),它实际上是一个隐藏的王者,全世界市场份额第一的操作系统,比Windows还高,他可以存在于服务器端,嵌入式设备(如:空调,卫星,路由器……),移动设备(Android),IOS中

Linux的发展背景

1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。读者也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。Linus仅仅在第一个Linux的FTP站点(ftp://nic.funet.fi)上提供过这个版本的的源代码。

Linux环境的搭建方式

  1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好, 不推荐.
  2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会
    导致环境上出现各种莫名其妙的问题, 比较折腾.
  3. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器购买云服务器.元辰终端工具下载XShell来连接服务器(注:如果你是student的话,下载的时候使用home/school则为免费版本)

Windows和Linux都为操作系统,为什么Linux非要用命令进行操作呢?
1.使用命令,和服务器的网络交互,只需要传输一些简单的字符串,如果是图形界面,就需要把画面一帧一帧的传过来,更节省宽带

2.服务器一般不需要图形界面,装上也是浪费空间

3.命令方便进行编程,可以通过一些编程的方式,把很多命令串在一起,完成一些复杂的工作,自动化
注意:Windows操作系统可以点击图形进行操作,Linux虽然是使用命令进行操作,但是也有图形界面,只不过很少使用

Java程序为什么能够直接在Linux上运行?
答:是因为Java中有一个很重要的特性,他是跨平台的,也就是一次编写到处运行,因为Java中有“JVM虚拟机“的存在,所以Java代码在Windows上和Linux上没有任何区别。

Linux的基本操作指令

修改主机名:

方法一:临时修改

hostname 主机名 //只能临时修改主机名,当重启机器之后,主机名称又回来了

方法二:通过配置文件/etc/sysconfig/network修改
修改此配置文件,linux主机名在下次重启之后开始生效,如需立即永久生效,需配合hostname命令即可。

[root@tonyx ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=tonyxu
ls指令

语法:ls【选项】【目录或者文件】

功能:显示当前目录下,都有哪些文件和目录(显示蓝色表示目录,白色表示普通文件)
常用操作

  • -a 列出目录下的所有文件,包括以“.”开头的隐藏文件
  • -d 将目录像文件一样显示
  • -k 以K字节的形式表示文件的大小
  • -l 列出文件的详细信息(如时间,文件大小等)
  • -r 对目录反向排序
  • -t 以时间排序
  • -R 列出所有子目录下的文件(递归)
ls -l /   表示查看的是 "/" 这个目录中的文件和目录内容("/"表示根目录)

小技巧:ls -l 和 ll 是等价的,都是查看当前目录下所有文件和的详细信息

pwd指令

功能:显示用户当前所在的目录

cd指令

Linux的系统中,磁盘上的文件和目录被组成一颗目录树,每个文件都是目录或者文件。

语法:cd 目录名
功能:改变龚总目录,将当前工作目录改变到指定的目录下

  • cd …: 返回上级目录
  • cd ~:进入到用户的home(家)目录(也可直接使用cd)
  • cd - :返回最近访问目录
cd 目录名   表示就可以进入到当前目录内部
touch指令

语法:touch 【选项 】 文件

功能:touch表示创建一个新的文件(空文件),touch的命令参数可更改文档或目录的日期时间,包括存取时间和更改时间

touch java.txt   //表示在当前目录下创建一个java.txt文件,如果之前已经存在java.txt文件,则不会对文件内容进行任何修改,但是会更新文件的修改时间
cat指令

语法:cat 文件

功能:查看目标文件的内容

cat java.txt     表示查看java.txt文件里面的内容
echo指令

语法:echo 【内容】> 【文件名】(“>”表示重定向)

功能:修改文件的内容

echo hehe > java.txt   表示将java.txt文件里的内容修改为 “ hehe”
mkdir指令

语法:mkdir 【选项】

功能:在当前目录下创建一个目录

  • -p:此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好,那些尚不存在的目录,即一次可以建立多级目录
mkdir java     表示将会创建一个java目录
mkdir  demo1/demo2/demo3 -p    表示如果此时没有想在demo1和demo2下创建demo3目录,如果此时没有demo1和demo2目录的情况下,会自动创建demo1和demo2目录
tree指令

功能:使用此命令,可以查看当前目录中的结构,并且每个目录里面有哪些文件都会展示出来 tree命令的下载:tree命令不是自带的,需要额外安装,那么直接可以使用命令进行安装

tree    直接使用tree就可以展示当前目录的结构
yum install tree     表示安装tree命令
rm指令

语法:rm【-f -i -r -v】【文件名或文件】

功能:删除文件或者目录

  • -f :即使文件属性为只读(即写保护),也可以直接删除
  • -i:删除前逐一询问确认(输入“y”表示yest,输入“n”表示no)
  • -r:删除目录及其下所有文件
rm -r  目录名   表示删除这个目录及目录下的内容,这里每一次都会询问你是否删除
rm -rf  目录名   也表示删除目录及其下面的子目录和内容,但是出现是否删除的功能(适用于子目录比较多的情况)

注意:这里删除之后,就真的删除了,无法通过常规手段你进行恢复(不像Windows有回收站),操作系统删除文件,本质上只是把对应的磁盘区域标记成“无效区域”,并没有真的把数据擦除掉,可以使用一些专用工具来恢复一部分(为什么只能恢复一部分呢?是因为“无效区域可能会分配给其他文件”)
千万注意:不要使用 rm -rf /
千万注意:不要使用 rm -rf /
千万注意:不要使用 rm -rf /
因为他会删除你的系统上的所有文件,简单来说,即使你的机器必挂,只能重装系统了,当然如果是你自己的电脑,可以玩玩,但是入职之后一定不要尝试。

mv指令

语法:mv 【选项】 源文件或目录 目标文件或目录

功能:

1.视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录),mv 命令将文件重命名或将其移至一个新的目录中

2.当第二个参数类型是文件时,mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名

3.当第二个参数是已经存在的目录名称时,源文件或目录参数可以有多个,mv 命令将各参数指定的源文件均移至目标目录中

  • -f:force(强制),如果目标文件已经存在,不会询问而直接覆盖
  • -i:若目标文件已经存在时,就会询问是否覆盖!
mv demo1/java.txt  demo2    表示将demo1目录下的java.txt文件移至demo2目录下mv java.txt  test.txt   表示修改文件名,将java.txt修改为text.txt

注意:mv 的操作是非常高效的(只需要修改问价的路径即可),这个操作时间和文件大小无关,即使是很大的文件,移动也是弹指一挥间的事。

cp指令

语法:cp【选项】 源文件或目录 目标文件或目录 功能:复制文件或目录

  • -f:强行复制文件或目录,不论目的文件或目录是否已经存在
  • -i:覆盖文件之前先询问用户
  • -r:递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R:将指定目录下的文件及子目录一并处理
cp  demo1/java.txt  demo2   表示将demo目录下的java.txt为念复制到demo2目录下,并且内容也是完全相同,复制操作和文件大小密切相关,文件越大,复制时间越长
cp -r  demo1 demo2   表示将demo1目录复制到demo目录下(目录的复制)

说明:cp 指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后一个目的地是已经存在的目录,则它会把前面的所有文件或目录复制到此目录当中。若同时指定多个文件或目录,而最后的目的地并非存在,则会出现错误信息

man指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助

语法:man 【选项】 命令

  • -k:根据关键字搜索联机帮助
  • num 只在第num章节查找
  • man man能够看到man手册中的若干个章节及其含义
man ls   表示打开”ls“帮助手册,可以查看ls的用法等…

注意:
1.使用关键字进行查看时,按下”/“出发查找功能,然后输入想要查找的对应关键词
2.当打开对应指令帮助手册的时候,要使用上下键进行翻看,q退出
3.BUILTINS 内键命令 cd/echo 是无法使用man直接查看的
4.man能够查看Linux的系统API,还能查看C语言标准库的函数,但是不能查看Java,因为Linux是C实现的,所以有特殊待遇,也即像Java这样的语言是不能实现操作系统的

less指令

【cat的加强版】

语法:less 【参数】文件

功能:查看文件内容,不会立刻把所有文件内容加载到内存当中,也只能进行查找

  • -j k / :方向键:向上向下滚动屏幕
  • -N: 显示每行的行号
  • /字符串:向下搜索”字符串“的功能
  • n:重复前一个搜索
  • q:退出
less service   表示查看service的内容和cat相似,但是cat是一股脑全部展示出来,less会延时加载

注意:使用less的优点,如果文件特别大,less的打开速度会非常快(延时加载 ),用多少加载多少(和懒汉模式一个道理)

head指令

语法:head【参数】 【文件】

功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

head  etc/services   表示会展示service的前十行数据
head  -n 100  etc/services   表示会展示service的前100行数据
tail指令

语法:tail 【必要参数】【选择参数】文件

功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

  • -f:循环读取
  • -n:显示行数(自定义)
tail  etc/services   表示会默认展示后十行的数据
tail  -n 100   etc/services   表示会展示后100行的数据
注意:如果是只展示第n行的数据,需要结合head和tail使用,也就是将head的尾作为tail的头,命令(如展示第50行的数据):
head -n 50 services  | tail -n 1
date指令

date指定格式显示时间:date +%Y:%m:%d

  • %H : 小时(00…23)
  • %M : 分钟(00…59)
  • %S : 秒(00…61)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01…31)
  • %m : 月份 (01…12)
  • %Y : 完整年份 (0000…9999)
  • %F : 相当于 %Y-%m-%d
date +%Y/%m/%d      表示时间将会按照你定义的格式化进行输出
date +%s    表示查看时间戳

Linux的小技巧

复制:ctrl+insert 如果不行就使用 ctrl+fn+insert 粘贴:shift+insert 如果不行就使用 shift+fn+insert

tab键:我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率.
ctrl+c重新输入:如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.

Linux操作系统的常用基本指令相关推荐

  1. Linux shell常用操作指令(0)

    首先,说一下我跟Linux的接触的历史吧!第一次接触是在大一下学期的3月份,当时我参加了一个科创学习,接触到了有小型计算机之称的树莓派,在那段时间跟随老师从一开始的给树莓派烧录镜像到树莓派的一些基本配 ...

  2. Linux之常用基础指令二

    常用的Linux相关基础指令二 1.cat 功能:查看目标文件的内容 使用方法:cat [选项参数][文件] 常用选项参数: -b 对非空输出行编号 -n 对输出的所有行编号 -s 不输出多行空行 2 ...

  3. 【Linux】常用文件管理指令

    一.常见文件控制指令 关键字含义: 关键字 含义 filename 文件名 oldfilename 原始文件名 info 写入文件的内容 command 指令 常用指令: 指令 含义 指令格式 tou ...

  4. Linux平台常用终端指令合集【超级全】

  5. Linux里怎么进行路由跟踪,[Linux] traceroute 路由跟踪指令用例

    traceroute是用来跟踪数据包到达网络主机所经过的路由工具.在Linux系统中,称之为traceroute,在Windows中称为tracert. 一条路径上的每个设备traceroute要测3 ...

  6. ipmitool 设置网关_IPMITOOL常用操作指令

    一.开关机,重启 1. 查看开关机状态: ipmitool -H (BMC的管理IP地址) -I lanplus -U (BMC登录用户名) -P (BMC 登录用户名的密码) power statu ...

  7. 常用Linux操作系统的发展历史

    文件目录 文件权限 特权文件suid,sgid,sbit Linux操作系统 Linux发展史及简介 Linux简单介绍 Linux发展史 Linux族谱 Linux重要人物 Linux与Unix的渊 ...

  8. 【Linux】Linux最常用的20个基本指令 介绍~分析

    什么是 Linux ​ Linux 是一款基于 GNU 通用公共许可协议 的 自由和开放源代码 的类UNIX操作系统,该操作系统的内核由 Linus Torvalds 在1991年首次发布.之后,在加 ...

  9. 鸟哥的Linux私房菜(服务器)- 第五章、 Linux 常用网络指令

    第五章. Linux 常用网络指令 最近更新日期:2011/07/18 Linux 的网络功能相当的强悍,一时之间我们也无法完全的介绍所有的网络指令,这个章节主要的目的在介绍一些常见的网络指令而已. ...

最新文章

  1. 归档—监控ORACLE数据库告警日志
  2. Linux之Ansible入门用法(实验解析)
  3. 数学建模债券投资组合_1998年全国大学生数学建模竞赛题目A题投资的收益和风险.PDF...
  4. 关于cat命令修改文件内容(导入变量符号以及变量内容)
  5. Qt工作笔记-使用toVariant().toMap()分割Json文件(666解析法)
  6. python识别复杂验证码2020_Python识别验证码!学会这步,百分之60的网站你基本都能识别了!...
  7. websocket动态添加广播路径_数据可视化WebSocket实现聊聊我的实现思路
  8. CAD2020软件安装教程【搬运】
  9. 内存颗粒和闪存颗粒的区别_什么是内存颗粒以及内存颗粒的种类和差别
  10. 小程序开发小游戏注意事项
  11. 【运维】linux shell 编程之函数使用
  12. ftp服务器怎么删文件夹,删除ftp服务器文件夹
  13. 软路由服务器安装在哪个位置,软路由安装教程_软路由安装注意事项
  14. STM32 I2S学习(一)
  15. 【分享】沪江网提供的每日一句API
  16. node爬取双马尾小姐姐图片
  17. PL/SQL测试存在CLOB类型入参的存储过程时,入参为NULL
  18. Linux中samba配置和windows映射Linux驱动盘
  19. user account control用户帐户控制
  20. bzoj1719 [Usaco2006 Jan] Roping the Field 麦田巨画

热门文章

  1. Java Web学习总结(39)——JavaEE常用的Jar详解
  2. Ajax学习总结(2)——Ajax参数详解及使用场景介绍
  3. 50道编程小题目之【企业利润提成】
  4. delphi 登录界面 主窗体 切换_.NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐)
  5. python怎么写测试脚本语言_用python编写测试脚本
  6. python正则_正则化方法及Python实现
  7. 凯斯西储计算机科学,凯斯西储大学电气工程与计算机科学系基本信息详解
  8. java二维数组模拟用户登录_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)...
  9. redis怎么修改_面试官问我Redis事务,还问我有哪些实现方式
  10. 作为一个软件开发公司如何让自己的技术落地应用产生价值呢?