几种操做系统的使用

 

操做系统概述

关于操做系统的概念

POSIX: Portable Operating System Interface
Windows Console App vs Service
GUI程序和CUI程序:php

控制台应用程序多了一个控制台(那个黑黑的Dos窗口)。程序的文件头某个位置指定了该程序是IMAGE_SUBSYSTEM_WINDOWS_GUI仍是IMAGE_SUBSYSTEM_WINDOWS_CUI。若是是CUI,那么该程序就是控制台程序,它启动的时候就会被自动分配给一个控制台(Console)。在GUI程序中,窗口不是必要的,虽然绝大部分程序都有html

如何将java控制台程序作成windows服务
snapshot:快照技术,在backup时被普遍采用。关键在于state的抓取和保存。
后来扩展到软件描述上:vue

Maven快照机制(SNAPSHOT)
ps - report a snapshot of the current processes.java

What is the difference between standard syntax and BSD syntax?python

深刻理解虚拟存储器mysql

文件描述符表、文件表、索引结点表linux

Linux OS

Linux经常使用命令
linux目录结构—小哥整理的很棒🐼,参考之
linux中几个简单命令
如何记住linux命令
What is the difference between standard syntax and BSD syntax?ios

伪文件系统

Synthetic file systemc++

Linux目录结构

What does the ‘rc’ in .bashrc, etc. mean:run command
Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)git

Linux命令
一.信息查看

linux查看硬盘大小与挂载硬盘

1. 查看当前发行版可使用的shell: cat /etc/shells
查看正在使用的shell
查看正在使用的shell版本:bash -version或者echo BASH_VERSION—
BASH_VERSION是本地定义的shell变量,可用set查看所有本地定义的shell变量切换shell最简单:输入shellName便可切换
2.linux查看本机ip地址:ifconfig -a
3.linux使用命令:man+command查看某一个命令的使用方式; 查看后按“q”退出
4.linux使用which命令查看可执行文件位置,对应windows中为where
5.linux查看某个某个进程属于哪一个程序:ps列出|grep筛选

which processes are running and who own the process?
ServicesVSprocess
6.查看linux系统版本信息
uname -a显示电脑以及操做系统的相关信息
cat /proc/version正在运行的内核版本。 proc - process information pseudo-filesystem pseudo-filesystemSystem call
cat/etc/issue发行版本信息
lsb_release -aprint all the distribution-specific information
7.chkconfig -list: updates and queries runlevel information for system services
chkconfig配置工具chkconfig —list 能够列出sysV和xinet服务在各个runlevel的默认启动状态
hostname — set or print name of current host system
check running services on linux
8.linux查看文件信息的三个命令
9.查看linux服务器当前时间和启动时间
# date —查看linux当前时间
# last reboot—-查看privious boot time 通常列出以前五次
10.linux列出可安装的软件包:listing packages
经常使用:# yum list java\*—列出名字内包含java的安装包
11.linux ps -ef|grep processName

  1. linux设置和查看环境变量
    二.服务器搭建
    1.linux中使用python -m SimpleHttpServer命令实现目录共享:==》

各类Linux发行版一般都内置了Python,故使用此方法很是方便。在其它OS(好比Windows)此方法也有效,可是要麻烦一些,必须先搭建Python环境。参考:python搭建静态服务器若是你安装的是phthon3那么命令就不是python -m SimpleHTTPServer而是要改为python -m http.server,效果是同样的。

三.linux下载文件

How to download a file from server using SSH?
三.待整理
5.echo 命令:linux echo commandWhy is there a /bin/echo and why would I want to use it?
6.linux中变量命令规范naming conventions for variables in shell:Environment variables or shell variables that are introduced by the operating system or shell startup scripts etc. are usually all in CAPITALS.To prevent your own variables from conflicting with these variables, it is a good practice to use lower case.(conflicting evidence:冲突证据)
Eg:/bin/echo'the value of $PATH is’$PATH

path是环境变量,必须大写Reference Artical&google’s shell style guide
8./usr/bin和 /usr/local/bin的区别:
/usr/bin目录下的可执行文件是系统预装,升级会变,而/usr/local/bin是用户放置本身可执行程序的地方,升级不会被覆盖并且/usr/local/bin中的可执行文件优先于/usr/bin执行
参考:Linux Programmer’s Manual

linux压缩和解压

unzip apache-maven-3.6.0-bin.zip
tar xzvf apache-maven-3.6.0-bin.tar.gz

GNU ‘tar’ saves many files together into a single tape or disk archive, and can restore individual
files from the archive.
zip对应的是unzip,而tar命令既是打包命令又是解压缩命令

linux查找文件

linux查找文件两个命令:locatefind
Refs:1.10 Useful ‘locate’ Command Practical Examples for Linux Newbies

linux清屏

clear==Ctrl+L
reset—清除全部操做信息
alias cls='clear'—而后既能够用cls来替代clear

echo alias cls='clear'>>~/.bash_profile
  source ~/.bash_profile
单独命令详解

1.ps -ef|grep java

Linux中怎么经过PID号找到对应的进程名及所在目录方法
1.输出项含义2.命令解释
[root@localhost ~]# ps -ef|grep javatomcat 1251 1 0 Nov30 ? 00:02:03 /usr/lib/jvm/jre/bin/java -classpath :/usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap startroot 1606 1579 0 04:36 pts/0 00:00:00 grep java[root@localhost ~]# ps aux|grep tomcattomcat 1251 0.0 14.7 2092836 38668 ? Sl Nov30 2:03 /usr/lib/jvm/jre/bin/java -classpath :/usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start[root@localhost ~]#

Problems encountered during linux use
  1. prompt of‘file.swp’alread exit when opening a file throw vim
  • abnormal exit of file result in the creation of .swap files,it can’t be detected command ‘ls’
    The solution is delete it directly us command’rm -rf filename.swp’to delete it
  • To view all the .swp files in current directory,use the command ‘vim -r’
    see this artical for more detials: vim swp files handing
    2.iterm2安装过程提示
  • crantab:设定定时任务的linux指令,经常使用于周期性的日志分析或数据备份等工做。cbcd
    linux内建命令(shell build in)和外部命令区别
    参考此文:https://blog.csdn.net/taohuaxinmu123/article/details/10845001
    三个环境变量:PATH、OLDPWD、PWD。
    PATH:执行文件路径的变量;”echo PATH表示后面接的是变量)
    OLDPWD:表示前一次的工做目录;
    参考此文:Difference between help, info and man command
    help命令用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。
    测试发现:/usr/sbin中的命令可用command —help查看帮助信息
    而/usr/bin中的命令只能用man查看
    Ps:并不彻底,pwd_mkdb只能man不能help,但也是位于/usr/sbin

    使用linux命令完成常见操做

    返回目录
    Linux中怎么经过PID号找到对应的进程名及所在目录方法
    linux配置path环境变量
    查看PATH环境变量:echo $PATH—/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

    List of Environment Variables in Linux/Unix
    linux添加PATH环境变量
    Linux将命令路径添加到PATH中

    • System wide
      /etc/environment: specifically meant for environment variables
      /etc/env.d/: environment variables, split in multiple files
      /etc/profile: all types of initialization scripts
      /etc/profile.d/
      : initialization scripts
      /etc/bashrc: meant for functions and aliases
  • User specific
    ~/.bash_profile: initialization for login (bash-)shells
    ~/.bashrc: initialization for all interactive (bash-)shells
    ~/.profile: used for all shells
    ~/.cshrc, ~/.zshrc, ~/.tcshrc: similar for non-bash shells

1.查看path环境变量的值
#echo $PATH||
printf "%s\n" $PATH
|| # cat /etc/paths—mac中
2.找出PATH变量值的存储文件位置(这个是比较难的?直接google吧···)
How to determine where an environment variable came from
3.修改path环境变量
MAC中PATH存储在/etc/paths文件中,故修改之便可
# sudo vim /etc/paths

set,env和export这三个命令均可以用来显示shell变量,其区别?

set 用来显示本地变量
env 用来显示环境变量
export 用来显示和设置环境变量set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
export 显示当前导出成用户变量的shell变量每一个shell有本身特有的变量(set)显示的变量,这个和用户变量是不一样的,当前用户变量和你用什么shell无关,无论你用什么shell都在,好比HOME,SHELL等这些变量,但shell本身的变量不一样shell是不一样的,好比BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,由于一个shell本身的变量能够经过export “导出”变成一个用户变量

Mac OS

MacHash

(此部分用于整理macos相关)

Bourne:shell的开发者
dmg就是disk image的意思,即磁盘影像,至关于在Windows上常见的iso文件
特殊符号:按下 Control-Command-空格键。此时会显示“字符检视器”弹出式窗口
Mac中的快捷键:https://support.apple.com/zh-cn/HT201236
Mac键盘符号:https://blog.csdn.net/xi_mi_/article/details/72312584

苹果电脑从硬件(CPU指令)到软件都是与X86机不兼容的独立系统,与Unix和Linux既有关系,也不要紧。MAC操做系统在1984年就有了Mac 1.0版,而Unix一开始是贝尔实验实开始的,专门为大型服务器开发的一个操做系统,从1969年就开始开发,能够说是和计算机同步发展的,到1976年Unix基本成型,但那只能是极少数人员会使用那些繁锁的命令。苹果计算机一开始就定位为家庭我的电脑,并且指令也不兼容,1984Jobs(乔布斯)主持开发了MAC的第一个版本,鼠标操做,图形界面,窗口方式给人很是便捷的操做,令人感到用电脑就像小孩子搭积木同样的简单。Mac OS能够被分红操做系统的两个系列:一个是老旧且已不被支持的“Classic”Mac OS(系统搭载在1984年销售的首部Mac与其后代上,终极版本是Mac OS 9)。采用 Mach 做为内核, 在OS 8之前用“System x.xx”来称呼。新的Mac OS X结合BSD Unix、OpenStep和Mac OS 9的元素。它的最底层建基于Unix基础,其代码被称为 Darwin,实行的是部分开放源代码。如今明白我为何说MAC与Unix既有联系,又没联系了吧。在MAC9.0以前没有任何联系,最新的10.0中有联系了
2011年7月20日Mac OS X已经正式被苹果更名为OS X

Mac概述

932b81fefcbee524267750c3814cb646.png

Mac中的基本概念

bashbash(Bourne again shell)

Mac和linux系统目录结构的对比

比较能够发现:Mac中没有/proc文件夹

Mac中工具的的使用

mac10开始集成shell环境另外mac自带python环境、ruby环境
Refs:Why does Mac OS X come with ruby/rails?

Mac中bash的使用

1.bash进入python环境python
使用 quit(), exit(), 或者Ctrl-D退出命令行。
2.bash查看系统信息
191629e3f35ab618b5cee089e54ac332.png
Mac打开Terminal默认使用bash,经试验,Mac中查看系统相关信息和linux是不同的,如上图:
通用的命令有两个:uname -aLONG_BIT
Refs:1.命令行获取 mac os x 系统信息2.Linux下如何查看版本信息

3.显示隐藏文件

  • command+shift+"+”显示隐藏文件或者comman+shift+G直接前往所在目录(默认显示全部文件,去除finfer默认的隐藏系统文件)
    3.ls -a显示全部文件
    4.查看vim是否有python支持:
    vim --version | grep +python—“+”号的含义在于表示插件是否支持,用“-“号也能够,反之。

Mac中经常使用软件安装

1.mac效率神器之——Alfred
mac软件下载网站下载该软件便可,下载后即为破解版,可使用workflow功能
2.office_forMac套件
官网下载安装后使用第三方激活工具激活便可,
3.MAC中javaWeb开发环境搭建
4.keepassmac版本,打开连接后下载第三方的
keepassX便可
5.Mac中homebrew的安装
6.Mac中Atom的安装和使用
小计:用了印象笔记的Markdown,不支持
7.typora安装使用

  • 注意:建立任务列表时,The spaces around and betweet[and]are required for this to work.方括弧中间和两边都须要有空格

黑苹果安装

1. 在vmware上试安装
vmware安装很简单:官网下载最新版本,网上随意找个key就能够激活,使用:ctrl+alt退出
黑苹果资源从远景下载或者本身拿mac下载
安装教程:unlocker从gits上下载最新并切换到cmd下执行便可
安装过程可能出现问题:

  • vmware下载安装并建立虚拟机后打开报错:提示credential guard开启致使,而这个的开启在我这儿时由于开启Hyper-v致使
    解决方法就是关闭Hyper-v(关闭方法
    credential guare管理
    2.vimware中Mac的使用
    P&S
  • 从新分配mac所占用磁盘空间

1.打开终端,输入diskutil list
2.从显示的列表中找到你须要扩展的分区(是分区不是磁盘,分区的ID通常为diskXsX);
3.而后输入diskutil resizeVolume disk1s1 100GB,其中disk1s1为对应分区的ID,100GB为目标大小(这里的目标大小不能超过这个磁盘的总额);
4.回车,等待完成吧!
出现问题:

cfb7ae642b39c38bdd19baa397d241b7.png
更改risize命令为:diskutil apfs resizeContainer disk0s2 100gb

Window OS

一.windows中的基本概念

tablet:平板电脑
cmd下输入:systeminfo获取系统软件和硬件配置信息,好比主机名,操做系统名称/版本号 OS初始安装日期/本次启动时间
cpu数量 主板bios版本 启动盘 物理内存总量剩余大小 网卡数量(通常就是wlan/Ethernet/blueteeth)
win+pause:查操做系统信息

telnet登录不区份内外网,可是你须要链接的这台电脑必须打开telnet服务,而后要知道端口号和用户名和密码才能登录
telnet进入后按“q”退出
telnet使用方法1=》telnet使用方法2
find out which process is listening on a port on Windows

netstat -an |find /i “listening”—- Identify Open Ports on a Windows(cmd须要管理员权限)
net share 共享和取消共享==>使用方法>>

CMD和Powershell的使用

经常使用cmd命令和操做

1.where 命令

至关于linux中which命令,用来查看windows下某个命令或者可执行程序
描述: 显示符合搜索模式的文件位置。在默认状况下,搜索是在当前目录和 PATH 环境变量指定的路径中执行的。

where java—-查找

2.Ctrl+C

cmd只是一个执行命令的工具,因此没有文本编辑器中取消上一步操做的概念(ctrl+z),对应的是取消该命令执行ctrl+c

3.win+s和win+r

常见windows.msc文件(msc:Microsoft Management Console)
gpedit.msc 本地组策略编辑器
lusrmgr.msc 本地用户和组

4.net start serviceName
好比:net start mysql

Powershell

背景相关

Operating sytems:Windows—基于windows NT 其余多为unixlike

What are the special dollar sign shell variables?
TTYTerminal Type (Unix terminal interface)

环境变量相关(export,PATH,”$”,”:”)含义

bash中&符号解析

转义字符:其实全部编程语言,拥有转义字符的缘由基本上是两点
一. 使用转义字符来表示字符集中定义的字符,好比ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。因此只能用转义字符来表示
二. 某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符因为被定义为特殊用途,它们失去了原有的意义。好比说Html中,<被HTML定义为标签的开始,因此当咱们转入<时,HTML就会把它看成为开始,而不是看成一个<来看待。再如PHP 的双引号(”),被PHP定义为字符串的外围标签,因此若是你在一对双引号里面,还想要使用双引号,只能使用转义字符了。否则PHP就会报错了。
从上面也能够看出转义无非是两种状况:
1:将普通字符转为特殊用途,通常是编程语言中,用于表示不能直接显示的字符,好比后退键,回车键,等。
2:用来将特殊意义的字符转换回它原来的意义。通常用在正则表达式中。还有有些脚本语言是弱类型,有些语言好比html 并非编程语言,而是标记语言,有些语言只有一种类型 好比shell 脚本语言,这些语言中字符串都不加引号” ” ,或者能够不加引号“ ”,因此有时候须要转义字符说明某字符此时的身份是普通字符,而不是有特殊意义的元字符。
另外出于网站的安全。在数据写入数据库前,都会使用转义字符(函数)对一些敏感字符进行转义。这样作能够避免一些别有用心的人利用特殊符号的注入攻击。

powershell概述

bash编程
powershell官方文档
powershell是开源的
CLRcommon language runtime
和Java虚拟机同样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集等),并保证应用和底层操做系统之间必要的分离
.NET Framework版本与CLR版本之间的关系
powershell查看自身版本$PSVersionTable.PSVersion
powrshell查看环境变量ls env:—注意最后是一个冒号(colon)
查看某个环境变量的值:$env:VariableName—和linux同样使用$字符显示

cmd和powershell和linux对比
  cmd中 powershell中 linux中
查看全部环境变量 set ls env: env
查看某个环境变量的值 set EVName 或者echo %EVName% ls env: EVName $EVName
     
   

查看环境变量:cmd:set ps:$env:

Difference between set, export and env in bash
set,env、declare和export这四个命令的区别

三.Tricks—使用技巧

Windows Subsystem for Linux

Windows Subsystem for Linux Documentation

四.Windows上经常使用软件安装使用

1.WinDjView:Window平台DjVu格式阅读器,点击获取
DJVU google chrome插件
2.百度云
.accelerate文件夹:百度云下载时会在其baiduyundownload/目录下自动生成,accelerate:加速,应该是告诉缓存文件夹
3.Chrome
Chrome将网页保存为PDF方法
Chrome插件—workflowy
4.Scrivener

 

系统和经常使用软件HotKeys

Mac中

Mac 键盘快捷键中文版
英文版:部分命令解释比果厂渣翻译好懂一点儿
Pages for Mac keyboard shortcuts


  1. Mac中经常使用的系统级别快捷键(classifed by适用范围)
  • ⌘+Q :针对程序。退出应用程序。不是针对哪一个,而是全部的应用程序——简单有效粗暴

  • ⌘+W :窗口级别。关闭当前window.但金山词霸不吃这套😹😹😹

  • Command-H:隐藏最前面的应用的窗口。要查看最前面的应用但隐藏全部其余应用,请按 Option-Command-H。
  • Command-M:将最前面的窗口最小化至“程序坞”。要最小化最前面的应用的全部窗口,请按 Option-Command-M。
  • Control-Command-空格键。此时会显示“字符检视器”弹出式窗口
  • Control-Command-F: Use the app in full screen, if supported by the app

    ⌘+H是隐藏,能够这么理解:被隐藏的窗口还在桌面上,可是看不到了,只显示最上面一层,隐藏的最后结果是桌面上还有一个窗口。,而M是缩小到了dock中文件栏。
    下图是⌘+M的执行结果,就问你怕不怕😂😂😂
    593c0c1a66f9ea2087ab7523e97116a9.png


2.应用程序级别的快捷键


  • p.
    windows中

  XP 时代有 4 个经典的 Win 键组合:R/E/F/L,到了 Win7,花样更多了,win10在此基础上win快捷键以下:

1.对局域网上计算机的操做

  • Ctrl + Win + F:搜索计算机(若是您在网络上)
    2.对本台计算机上用户的操做
  • Win + L:锁定您的计算机或切换用户
  • Win + A:打开用户通知
  • Win + W:打开用户workInk工做区
    3.对本用户本桌面任务栏所打开窗口的操做
  • Win + T:切换查看任务栏上的程序,在任务栏显示tabs,但不打开
  • Win + 数字:显示位于任务栏指定位置(按下的数字做为序号)的程序的全部实例,连续按动时可切换该位置程序的实例,相似于Alt+tab,不一样之处在于Alt+tab是没有分层的,单层的,直接显示全部应用程序的全部窗口化的实例,而win+number是分层的,先进入任务栏对应位置的程序,接着按进入该程序实例的切换。(alt+esc:切换上一个Active状态的窗口)
  • Win + 空格:切换输入法
    4.对系统的设置和操做
    • Win:打开或关闭开始菜单
    • Win + Pause:显示系统属性对话框
    • Win + P:选择显示模式
    • Win + X:打开 Windows 移动中心
      经常使用:
      1. win+X+A 以管理员身份打开powershell
      2. win+X+N 打开windows设置菜单
  • Win + U:打开轻松访问中心, 能够理解为util或者user,应为所谓的轻松访问中心就是针对user的utils
  • Win + R:打开运行对话框
  • Win + S:打开搜索对话框
  • Win + E:打开个人电脑
  • Win + F:打开用户反馈( feedback)

5.对当前用户当前桌面窗口的设置和操做

  • Win + D:显示桌面
  • Win + esc:关闭当前窗口
    Win + M:最小化全部窗口
    Win + SHIFT + M:还原最小化窗口到桌面上
    Win + ↑:最大化窗口
    Win + ↓:最小化窗口
    Win + ←:最大化到窗口左侧的屏幕上(大屏分桌面分任务颇有用)
    Win + →:最大化窗口到右侧的屏幕上
    Win + Home:最小化全部窗口,除了当前激活窗口
    Win + SHIFT + ↑:拉伸窗口的到屏幕的顶部和底部
    Win + SHIFT + → / ←:移动一个窗口,从一个显示器到另外一个
    cmd下输入:systeminfo获取系统软件和硬件配置信息,好比主机名,操做系统名称/版本号 OS初始安装日期/本次启动时间
    cpu数量 主板bios版本 启动盘 物理内存总量剩余大小 网卡数量(通常就是wlan/Ethernet/blueteeth)
    win+pause:查操做系统信息
    Windows打开表情符号面板:Ctrl+Shift+B 简体繁体切换:Ctrl+Shift+F →此二项设置均为微软拼音默认设置。
映象笔记中的快捷键

1.通用快捷键(如下在win中command为ctrl,在windows中不适用标为)
command+q query
command+b Bold
command+i italic
command+u underline
command+j jump跳到某个弹出列表中的笔记本
⇧+command+DInsert date in the cursor position

Alt+f4或者Win+Etc关闭打开的单独笔记窗口
shift+conmand+F格式简单化,能够去掉拼写检查
ctrl+shift+T 切换笔记列表到标签视图

Chrome中的快捷键

chrome快捷键使用总结
ChromeForMac中

  • 打开最近关闭的窗口:Shift+command+T T是tab的缩写
    在映象笔记中该组合键功能为添加待办事项: T是Toto缩写
    在windows中command替换为ctrl
  • 打开历史记录command+Y—Y是什么鬼东西?
    windows中ctrl+h history
  • 光标移动到locationcommand+l—此时按tab可切换搜索引擎,google/baidu/zhihu,etc.
    window中是ctrl+L location 定位到地址栏
    在映象笔记中是定位到标题title处
  • command+shift+left/right,或者control+tab(后一个)&ctrl+⇧+tab(前一个)
    ChromeWin版
    切换标签页:Ctrl+Tab或者Ctrl+PageUP/PageDown
    网易云笔记
    Alt+left—关闭侧边栏
相关文章
相关标签/搜索