Linux 命令总括

图片 1

date -s 2015 2 12 修改时

近些年坐品种要在看一个开源项目之源码,这些开源项目据说在其中支出孵化了
6 年之久远,二〇一九年才开源出来。
我当扣押规划文档和源码中发觉,它的高层设计的一致性是比好的,但顶了源码实现就映现杂乱无章了头。
既然是时间跨度如此丰硕之档次,想必参加是路之程序员也不停一批判人了,处于不同阶段的程序员都爆发或出席,这样为会领会贯彻达标之繁杂了。
看在那个暴发必然时间沉淀的代码,有些代码可能诞生为多我刚刚工作的新年,有些又是近些年才长的。
不免让自己记忆从作为程序员,与那么些代码一起以时光饱受之成人与沉淀。

cp name

正巧工作之老二年,我连手了一个比深之类型被之一个重大模块。
在本人熟习了全套模块后,开端通往内加效益时,有硌于不了本的 DAO
层,这是遵照原生的 JDBC 封装的。 每一次新增一个 DAO
都得复制粘贴一失误看起相当接近的代码,久了难免生有厌烦的心怀。

cp  -rf  name  # pwd #Desktop/test1/ cp ../../etc/passwd ./ cat
../../etc/passwd > test.txt  重定向

立 Hibernate
刚兴起,觉得它们的宏图理念优雅,代码写出来吗简要,所以说干就干就控制就此
Hibernate 的落实取代原来的实现。 重新实现原来有所的 DAO
层类,这说基本上不多说少不少乎发好几百独 DAO 类,导致连日加了扳平宏观之次。
这是单纯粹的搬砖体力活,弄了了尚没有松口气又发出了新题材,Hibernate
在某些场景下以并发了性能问题。
断断续续把那一个新题材处理好,着实叫自身烦了一会儿,后来反思这裁定感觉真的无极端妥当。
替换带来的利益只是历次新增个 DAO
时少写几进行代码,却带多当下一无所知之高风险。

mkdir –p 创多目录

年轻的程序员对新技巧载惊异,而且有颗冲动的心中。
对新技巧,我了然,我了然、我熟识、我熟稔,但自我或要控制,等待合适的机遇。
写到此地,想起了《勇敢之心底》梅尔·吉普森看正在对方冲过来,喊在 Hold~Hold~
的情形。

rm –r 删空目录

在更早的时节,我以海南省中国银行写过一个小序,就是为拥有陕西省中国银行之信用卡客户发邮件账单。
按现行各国大银行信用卡客户上亿的层面,尽管只是每月发账单邮件的主次吗无法算是多少了。
只是这海南中行信用卡刚启航,第一独月就出免至 10 万客户,所以算多少程序。

rm –rf   name ( dir ) 连续强删

死年代都是全栈工程师啊,连账单页面模板的样式且是自自己统筹的,第一潮还犯了单稍错误就是是金额体现没有倚重右对一头。
而且程序即使安排于信用卡部的一个业务人员的独自布置的办公室电脑及。
每月出账,核心交易系统下发账单格式文件,业务人士手工导入格式文件生成模板邮件,然后就是起发送了。
所以,这多少个小程序即便是独单机程序,为了有利于业务人员操作,我勾勒了单 GUI
界面。 第一不成用 Java swing 写
GUI,为了显得发送速度,后台线程每发送成功一封邮件,公告页面线程更新快修。

mv 类似cp

顿时正在学 Java JDK 还未曾标配 concurrent 包,都是原生的,觉得 java
线程编程很高端。
所以我拔取线程间通信的方案来深受后台发送线程和前台页面刷新线程通信,一条浓浓的炫技激情。
后来造成了界面动不动就短路等同样多样问题,因为各类线程提前通告,遗漏通告等状态,代码越改越难明白。
其实用个共享状态,定时轮询即可满意的,而且代码实现会师略的基本上。
回头想,成长的中途不免见猎心喜、手上拿个锤子看到哪儿依旧钉子。
话说回来,我还充分想当初筹之这一个账单模板,可惜现在找不交了。
感觉较今招行给自己作的不行傻大黑粗的表看起好把吧,传统银行以用户体验上的中途还有多少距离之路途假诺倒?

od 读非文本文件

本身后天正看的开源代码也看看有的炫技的痕迹,具体说哪怕是有关状态机的运用。
状态机程序是免吻合直线逻辑思考的,类似 GOTO
语句,程序会骤爆发跳转,所以明白状态机程序比一般程序一旦麻烦。
而状态机程序同时经过由定义的底内存音信来使,更加一叠复杂性。
在本人了然,状态机程序最符合的气象有真正映射领域状态变迁,什么吃真正领域状态?比如,你红绿灯就发挥了真领域的老三栽状态。
此外一个紧要用途就是进行协议分析,反应解析器当前的运行状态。
凡是使用状态机来表明程序设计实现着之伪状态,往往都加加了不必要的复杂。

cat  /less /more/tac/head/tail
  读

偶然自己不时会于片开源项目蒙见到局部过火设计及实现之复杂性,而这多少个品种还都是部分行业一级的酷店开源之。
在程序员的成材途径上,越是高阶的升级换代中,行业里爱下专家评审制,评委会倾向性的关心项目面临的技巧难点和技术含量。
制度之倾向性也有或致人为创建技术含量,而休自然是配合项目的特级方案。
所以程序的技术含量和深度未必展现于外表,我「看山是山看水是次,看山无是山看水不是回,看山要山看水依旧回」。
转了相同环抱回来,机锋尽敛,大巧若拙,深于深处,浅在浅处,这也是自我所知的
KISS 原则。

Useradd  扩展用户

在多科幻小说和电影遭还来许多有关将来假如,多支可能的有。
在科幻电影《Coherence》中借而了同一种植一个口是的基本上版本可能,碰巧在某天重叠了。
我非常爱是设定的,它来于「薛定谔的猫」的辩护实验,就是有关将来已存在重重或许版本,大家走过的部分就是形成了唯一的泰版本。
我走了挺远,停下来回顾时间线达深早的亲善,得到这一点儿的诱导。
而现在底驻足与回想,都可大凡放贷这启发襄助我们重新好的跨不论或大或小的生一致步。

Userdel   删除用户
修改终端字体颜色:vim /etc/DIR_COLORS 找到 “DIR 01;34 # directory”
,直接修改34即可。图片 2 


 

版权阐明
本文首发微信公众号:瞬息之间
作者:mindwind
不必授权即可转载,但求保留以上版权阐明

 


 管道和重定向 

脚是自己的微信公众号
「刹那息之间」,除了写技术的篇章、还有产品、行业及人生之构思,希望会同还多活动在顿时条路上同行者交换。
图片 3

一.重定向

所谓重定向就是依赖:重新定义请求,将那多少个转化其他职位。

eg:ls -l >lsoutput.txt

这长长的语句,ls
-l这多少个命令(请求)本来是于终极上显得当前目录的情节之,执行完毕就条语句之后虽一鼓作气了ls
-l指令的重定向:不在巅峰突显,而是把彰显内容保留于文书lsoutput.txt文件中。

而你当一个本子程序里想就此kill命令终止一个过程,可是有或当你行kill命令的早晚特别进程就曾经终止了,这时它碰面当终极上输出恼人的error音讯,如何做?给它重定向输出吧!即:不给她于终端上展示,而是重定向输出到一个文本中。可每当本子中如此勾画:

kill -HUP 1234 >killout.txt 2>killerr.txt

因为专业错误输出的公文讲述符编号是2,所以利用“2>”操作符.

方的一声令下将正式输出以及不当输出分别重定向到killout.txt和killerr.txt中了。假如想将个别组输出都重定向到一个文本中,可以就此”>&”操作符来成两单出口。如下所示:

kill -1 1234 >killouterr.txt 2>&1

二.管道

足为此管道操作符”|”来连续进程。

ps -xo comm | sort | uniq | grep -v sh | more

以此命令首先以字母逐一排序(sort命令是排序)ps命令的出口,再用uniq命令除了名字同样之进程,然后据此grep
-v sh删除名字啊sh的进程.然后为此more命令将结果分页在屏幕及亮出来。

 

(重定向)>号是拿前的情保留于后边的公文内   输入到 

|竖线表示链接进程 也不怕是管道

>是挂写,意思是前的情节全没有了;
>>是增多写,往日的情不动。

Wc< file   从之文件中读来几乎尽几独字文件大小

a.out<file1>file0  
a.out从file1提取数据
把a.out结果输出及file0中

Sudo–u user  使用用户

WC输出行数 字数 文件大小

 shutdown -h now (halt pc)  shutdown -r now (rebot your pc )  df fdisk
-l
ehco $PATH /SHELL
单机情势:开机    按 e(kernel) ,—-> single —->b
sudo passwd 更改密码
dwrx—–         d 目录 l — — —        l  link   r 4   w 2 x  1  
   dwrxwrxwrx     4         root               root      1024    sep 7
 12:00 passwd    权限           连接数    user(所有者) 用户组   大小    
 日期            文件 chmod
chgrp 
chown   777 user —– group—other
chgrp 改的凡第一只

 

相对路径 从根 /起初

 

争持命令  相对当前路而言
vi编辑器的运用:

(1)用vi编辑器新建文件hello.txt,输入内容abcdefghijk,并保存退出  vi
hello.txt   a   abcdefijk  shift+: wq (ZZ)

(2)打开hello.txt,复制内容及第2、3、4举行,再删除第4进行   vi hello.txt yy pp dd(4d)

或者以第3履行内容删除 3d    (nd)

(3)废除上同样蹩脚操作    u
 (4)将hello.txt的第1履至第3执内容保留及hello1.txt中    1, 3 w
hello.txt

(5)在hello.txt中,突显行号   set
nu(number)

(6)将近日系的年华读入文件hello.txt中。    r !date

0:将光标移动到近日行首

$:将光标移动及当前行末

 
            移动光标

以指令格局下,键入

0:将光标移动到眼前行首

$:将光标移动及当前行尾

Ctrl-d:光标向下活动12行        dàdown

Ctrl-u:光标向上移动12履        uàup

Ctrl-f:光标向下走22尽

Ctrl-b:光标向上移动22举行

nG:将光标移动到第n履行,如100G   复制、剪切、粘贴、撤销、修改

 

在指令形式下,键入

yy:将手上推行复制到临时缓冲区      nyy   -à 5yy复制当前产卵5行

dd:删除时实施,并以这内容保留至现缓冲区

ndd:删除多实施,并以那一个内容保留至现缓冲区,如3dd复制当前产5行

p:将现缓冲区内容复制到即施行的生一行

P:将临时缓冲区内容复制到眼前行之达成一行

u:撤废上同样破的修改

. :重复上一样潮的操作 
 /或?用来在文书中向前仍然为后查找  

编纂多少个文件

命令格式: vi file1  file2   file3
…..

 

先是编辑file1 , 在命令格局下,键入 :n将编辑下一个文件,键入:N将编辑上一个文书。
 键入:ar将显得编辑文件列表。

读入一个文件内容

一声令下格式: 在命令情势下,键入   :r  file

效率:将文件file的情节念入到光标所在行的产一行

将文件之有内容保留也另外一个文本

命格式:n1,n2  w  file

演示: 5,20  w 
t2.txt,将文件的第5推行至第20推行之情节保留及文件t2.txt受到。
许母缓冲区 

 
 “wdd:删除时推行,将副本保存在缓冲区w中       d–>delete

 
 “wp:将缓冲区w的内容复制到当下行下一行         w—-> write
 p—>copy

   “ayy:将目前进行的内容复制到缓冲区a中 用shell命令
一声令下格式: !command       r !
ls 记录到文本中  r !
date 记录及文本中   

有简单操作:

(1)创立目录:在干净目录下创办为由曾“姓名”命名的公文夹。  进入根目录 cd /       mkdir name

(2)进入新创制目录,创立文件“a”和“b”。 cd name    touch a     touch b  
 或者 touch a   b

(3)再于近日文件夹下开创目录ex3。 mkdir ex3

(4)进入ex3目录,复制上平等交汇目录中的a文件及当前目录下,更名为“c”。 cd ex3
   cp ../a   ./

(5)使用mv命令将“c”的公文称转移吗“d”。 mv c  d                       mv 具有重命名的效益
也可以活动文件

(6)删除d。   rm -rf d  (rm d)

(7)返至直达同交汇目录。 cd ../

(8)使用“find” 命令于“/”目录下查找名为“b”的文件。  cd /       find -name b

(9)呈现工作目录的相对路径。 
pwd

 

../ 再次来到上同层目录

 

./时根本目录
gcc的使用:

(1)用gcc编译器编译程序work.c,生成可执行程序ework,在极限上勒索起命令

 

  vim work.c (编写内容) wq gcc work.c -o ework(生成可执行文件)

o–>output   

(2)如何执行ework

  ./work

 

(3)解释gcc helloworld.c  –o  hello命令

 

   输入 编译的文本helloworld.c 输出可执行文件hello

 

(4)怎样查看gcc安装路径

      which gcc

 

(5)咋样查看gcc版本音讯

   gcc -v

 

(6)若使对准work.c编译时入调试音讯,命令行为?

 gcc  -g   (gcc -g -o ework work.c)注:-o 紧跟输出的文件 /gcc work.c -g
-o ework   
g—-(-g,暴发符号调试工具(GNU的gdb)所必备的记资讯,要记挂对源代码举办调剂,大家即便必须参加那多少个选项。)

 

 

 

   查看你用的gcc版本  # gcc  -v  查看gcc所于目录,即查gcc安装路径。

       # which  gcc gdb
调试器的行使: # vim work.c #wq # gcc -g -o work1 work.c   ——->这里不可不先行调试
-g命令方可实施gbd # gdb # file work1 # run/next/step/break
number(终止第几执) /continue/ quit # whatis + 变量 (呈现变量类型) /
 print  变量 (呈现变量当时数值) 包的解压tar
tar -zxvf package_name
./ 可执行文件
enter  ——————————–

un zip 解压

 

chmod -R 权限 文件  -R是用连同目录及目录下之具有文件还改成权限

 

df -h  展现接纳量 按G展现

 

dpkg -l 列有已经设置之软件

 

swapon 打开交换分区  

 

 

 

 

 

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注