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经常使用命令
linux目录结构—小哥整理的很棒🐼,参考之
linux中几个简单命令
如何记住linux命令
What is the difference between standard syntax and BSD syntax?ios
What does the ‘rc’ in .bashrc
, etc. mean:run command
Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)git
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 callcat/etc/issue
发行版本信息lsb_release -a
print 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
各类Linux发行版一般都内置了Python,故使用此方法很是方便。在其它OS(好比Windows)此方法也有效,可是要麻烦一些,必须先搭建Python环境。参考:python搭建静态服务器若是你安装的是phthon3那么命令就不是python -m SimpleHTTPServer而是要改为python -m http.server,效果是同样的。
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
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查找文件两个命令:locate
和find
Refs:1.10 Useful ‘locate’ Command Practical Examples for Linux Newbies
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 ~]#
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
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 用来显示和设置环境变量set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
export 显示当前导出成用户变量的shell变量每一个shell有本身特有的变量(set)显示的变量,这个和用户变量是不一样的,当前用户变量和你用什么shell无关,无论你用什么shell都在,好比HOME,SHELL等这些变量,但shell本身的变量不一样shell是不一样的,好比BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,由于一个shell本身的变量能够经过export “导出”变成一个用户变量
(此部分用于整理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
bashbash(Bourne again shell)
比较能够发现:Mac中没有/proc文件夹
mac10开始集成shell环境另外mac自带python环境、ruby环境
Refs:Why does Mac OS X come with ruby/rails?
1.bash进入python环境:python
使用 quit(), exit(), 或者Ctrl-D退出命令行。
2.bash查看系统信息
Mac打开Terminal默认使用bash,经试验,Mac中查看系统相关信息和linux是不同的,如上图:
通用的命令有两个:uname -a
和LONG_BIT
Refs:1.命令行获取 mac os x 系统信息2.Linux下如何查看版本信息
3.显示隐藏文件
command+shift+"+”
显示隐藏文件或者comman+shift+G直接前往所在目录(默认显示全部文件,去除finfer默认的隐藏系统文件)vim --version | grep +python
—“+”号的含义在于表示插件是否支持,用“-“号也能够,反之。1.mac效率神器之——Alfred
从mac软件下载网站下载该软件便可,下载后即为破解版,可使用workflow功能
2.office_forMac套件
官网下载安装后使用第三方激活工具激活便可,
3.MAC中javaWeb开发环境搭建
4.keepassmac版本,打开连接后下载第三方的
keepassX便可
5.Mac中homebrew的安装
6.Mac中Atom的安装和使用
小计:用了印象笔记的Markdown,不支持
7.typora安装使用
[
and]
are required for this to work.方括弧中间和两边都须要有空格1. 在vmware上试安装
vmware安装很简单:官网下载最新版本,网上随意找个key就能够激活,使用:ctrl+alt退出
黑苹果资源从远景下载或者本身拿mac下载
安装教程:unlocker从gits上下载最新并切换到cmd下执行便可
安装过程可能出现问题:
1.打开终端,输入diskutil list
2.从显示的列表中找到你须要扩展的分区(是分区不是磁盘,分区的ID通常为diskXsX);
3.而后输入diskutil resizeVolume disk1s1 100GB
,其中disk1s1为对应分区的ID,100GB为目标大小(这里的目标大小不能超过这个磁盘的总额);
4.回车,等待完成吧!
出现问题:
更改risize命令为:diskutil apfs resizeContainer disk0s2 100gb
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 共享和取消共享==>使用方法>>
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
Operating sytems:Windows—基于windows NT 其余多为unixlike
What are the special dollar sign shell variables?
TTYTerminal Type (Unix terminal interface)
转义字符:其实全部编程语言,拥有转义字符的缘由基本上是两点
一. 使用转义字符来表示字符集中定义的字符,好比ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。因此只能用转义字符来表示 。
二. 某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符因为被定义为特殊用途,它们失去了原有的意义。好比说Html中,<被HTML定义为标签的开始,因此当咱们转入<时,HTML就会把它看成为开始,而不是看成一个<来看待。再如PHP 的双引号(”),被PHP定义为字符串的外围标签,因此若是你在一对双引号里面,还想要使用双引号,只能使用转义字符了。否则PHP就会报错了。
从上面也能够看出转义无非是两种状况:
1:将普通字符转为特殊用途,通常是编程语言中,用于表示不能直接显示的字符,好比后退键,回车键,等。
2:用来将特殊意义的字符转换回它原来的意义。通常用在正则表达式中。还有有些脚本语言是弱类型,有些语言好比html 并非编程语言,而是标记语言,有些语言只有一种类型 好比shell 脚本语言,这些语言中字符串都不加引号” ” ,或者能够不加引号“ ”,因此有时候须要转义字符说明某字符此时的身份是普通字符,而不是有特殊意义的元字符。
另外出于网站的安全。在数据写入数据库前,都会使用转义字符(函数)对一些敏感字符进行转义。这样作能够避免一些别有用心的人利用特殊符号的注入攻击。
bash编程
powershell官方文档
powershell是开源的
CLRcommon language runtime
和Java虚拟机同样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集等),并保证应用和底层操做系统之间必要的分离
.NET Framework版本与CLR版本之间的关系
powershell查看自身版本: $PSVersionTable.PSVersion
powrshell查看环境变量ls env:
—注意最后是一个冒号(colon)
查看某个环境变量的值:$env:VariableName
—和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这四个命令的区别
Windows Subsystem for Linux Documentation
1.WinDjView:Window平台DjVu格式阅读器,点击获取
DJVU google chrome插件
2.百度云
.accelerate文件夹:百度云下载时会在其baiduyundownload/目录下自动生成,accelerate:加速,应该是告诉缓存文件夹
3.Chrome
Chrome将网页保存为PDF方法
Chrome插件—workflowy
4.Scrivener
Mac 键盘快捷键中文版
英文版:部分命令解释比果厂渣翻译好懂一点儿
Pages for Mac keyboard shortcuts
⌘+Q :针对程序。退出应用程序。不是针对哪一个,而是全部的应用程序——简单有效粗暴
⌘+W :窗口级别。关闭当前window.但金山词霸不吃这套😹😹😹
⌘+H是隐藏,能够这么理解:被隐藏的窗口还在桌面上,可是看不到了,只显示最上面一层,隐藏的最后结果是桌面上还有一个窗口。,而M是缩小到了dock中文件栏。
下图是⌘+M的执行结果,就问你怕不怕😂😂😂
2.应用程序级别的快捷键
XP 时代有 4 个经典的 Win 键组合:R/E/F/L,到了 Win7,花样更多了,win10在此基础上win快捷键以下:
1.对局域网上计算机的操做
5.对当前用户当前桌面窗口的设置和操做
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+D
Insert date in the cursor position
⇧
Alt+f4
或者Win+Etc
关闭打开的单独笔记窗口
shift+conmand+F
格式简单化,能够去掉拼写检查
ctrl+shift+T
切换笔记列表到标签视图
chrome快捷键使用总结
ChromeForMac中
Shift+command+T
T是tab的缩写command+Y
—Y是什么鬼东西?ctrl+h
historycommand+l
—此时按tab可切换搜索引擎,google/baidu/zhihu,etc.Ctrl+Tab
或者Ctrl+PageUP/PageDown
Alt+left
—关闭侧边栏