Linux

Posted BobHuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux相关的知识,希望对你有一定的参考价值。

#命令模式下输入:光标移动到第34行第15个字符
34<Enter>15l(这是小写的L) 

ctrl+u删除光标前面的字符

ctrl+j删除光标后面的字符

在Linux下用VIM打开大小几个G、甚至几十个G的文件时,是非常慢的。

这时,我们可以利用下面的方法分割文件,然后再打开。

1 查看文件的前多少行

head -10000 /var/lib/mysql/slowquery.log > temp.log

上面命令的意思是:把slowquery.log文件前10000行的数据写入到temp.log文件中。

2 查看文件的后多少行

tail -10000 /var/lib/mysql/slowquery.log > temp.log

上面命令的意思是:把slowquery.log文件后10000行的数据写入到temp.log文件中。

3 查看文件的几行到几行

sed -n \'10,10000p\' /var/lib/mysql/slowquery.log > temp.log

上面命令的意思是:把slowquery.log文件第10到10000行的数据写入到temp.log文件中。

acmer之ubuntu下安装Eclipse(附有CB16.01的安装和chrome的安装)

发现孤儿进程的ppid并不等于1,是967,这个967是桌面的祖先进程

linux使用的进程间通信方式


  1. 管道(pipe),流管道(s_pipe)和有名管道(FIFO)

  2. 信号(signal)

  3. 消息队列

  4. 共享内存

  5. 信号量

  6. 套接字(socket)

线程同步互斥的4种方式

1.  临界区(Critical Section):适合一个进程内的多线程访问公共区域或代码段时使用

2.  互斥量 (Mutex):适合不同进程内多线程访问公共区域或代码段时使用,与临界区相似。

3.  事件(Event):通过线程间触发事件实现同步互斥

4.  信号量(Semaphore):与临界区和互斥量不同,可以实现多个线程同时访问公共区域数据,原理与操作系统PV操作类似,先设置一个访问公共区域的线程最大连接数,每有一个线程访问共享区资源数就减一,直到资源数小于等于零。

ctrl+alt+F1进入字符界面,再次运行刚才程序,出现了结果,ppid=1.

ctrl+alt+F7进入图形界面,就可以继续愉快的图形界面了

pwd:print work directory 打印当前目录 显示出当前工作目录的绝对路径

ps: process status(进程状态,类似于windows的任务管理器) 

netstat -s命令

[root@server ~]# netstat -s | egrep "listen|LISTEN" 667399 times the listen queue of a socket overflowed 667399 SYNs to LISTEN sockets ignored
比如上面看到的 667399 times ,表示全连接队列溢出的次数,隔几秒钟执行下,如果这个数字一直在增加的话肯定全连接队列偶尔满了。
[root@server ~]# netstat -s | grep TCPBacklogDrop 查看 Accept queue 是否有溢出

ss命令

[root@server ~]# ss -lnt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :6379 : LISTEN 0 128 :22 : 如果State是listen状态,Send-Q 表示第三列的listen端口上的全连接队列最大为50,第一列Recv-Q为全连接队列当前使用了多少。 非 LISTEN 状态中 Recv-Q 表示 receive queue 中的 bytes 数量;Send-Q 表示 send queue 中的 bytes 数值。

十个提高效率的命令别名

#解压
alias untar=\'tar -zxvf \'
#支持断点下载
alias wget=\'wget -c \'
#生成一个 20 个字符的随机数密码
alias getpass="openssl rand -base64 20"
#校验checksum
alias sha=\'shasum -a 256 \'
#正常下无数次,可以设置一个合理次数
alias ping=\'ping -c 5\'
#启动web服务器进行测试
alias www=\'python -m SimpleHTTPServer 8000\'
#网速测试,需要下载
alias speed=\'speedtest-cli --server 2406 --simple\'
#查看公网IP
alias ipe=\'curl ipinfo.io/ip\'
#查看局域网IP
alias ipi=\'ipconfig getifaddr en0\'
#清屏,可以ctrl+L,
alias cls=\'clear\'

 

常用参数:-auxf 

ps -auxf 显示进程状态

df: disk free 其功能是显示磁盘可用空间数目信息及空间结点信息。换句话说,就是报告在任何安装的设备或目录中,还剩多少自由的空间。

du: Disk usage 

rpm:即RedHat Package Management,是RedHat的发明之一

rmdir:Remove Directory(删除目录)

rm:Remove(删除目录或文件)

cat: concatenate 连锁

cat file1file2>>file3 把文件1和文件2的内容联合起来放到file3中

insmod: install module,载入模块

ln -s : link -soft 创建一个软链接,相当于创建一个快捷方式

mkdir:Make Directory(创建目录)

touch 

man: Manual 

su:Swith user(切换用户)

cd:Change directory  

ls:List files  

ps:Process Status  

mkdir:Make directory  

rmdir:Remove directory  

mkfs: Make file system   

fsck:File system check  

uname: Unix name 

lsmod: List modules 

mv: Move file 

rm: Remove file 

cp: Copy file 

ln: Link files 

fg: Foreground 

bg: Background 

chown: Change owner 

chgrp: Change group

chmod: Change mode  

umount: Unmount 

dd: 本来应根据其功能描述“Convert an copy”命名为“cc”,但“cc”已经被用以代表“CComplier”,所以命名为“dd”

tar:Tape archive (磁带档案)

ldd:List dynamic dependencies  

insmod:Install module  

rmmod:Remove module  

lsmod:List module 

文件结尾的"rc"(如.bashrc、.xinitrc等):Resource configuration 

Knnxxx /Snnxxx(位于rcx.d目录下):K(Kill);S(Service);

nn(执行顺序号);xxx(服务标识)

.a(扩展名a):Archive,static library  

.so(扩展名so):Shared object,dynamically linked library  

.o(扩展名o):Object file,complied result of C/C++ source file  

RPM:Red hat package manager  

dpkg:Debian package manager 

apt:Advanced package tool(Debian或基于Debian的发行版中提供)

部分Linux命令缩写

bin = Binaries (二进制文件)

/dev = Devices (设备)

/etc = Etcetera (等等)

/lib = LIBrary  

/proc = Processess 

/sbin = Superuser Binaries (超级用户的二进制文件)

/tmp = Temporary (临时)

/usr = Unix Shared Resources 

/var = Variable (变量) 

FIFO = First In, First Out 

GRUB = GRand Unified Bootloader 

IFS= Internal Field Seperators 

LILO = LInux LOader 

MySQL = My 是最初作者女儿的名字,

SQL = Structured QueryLanguage  

php = Personal Home Page Tools = PHP HypertextPreprocessor 

PS = Prompt String 

Perl = "Pratical Extraction and Report Language"(实际的抽取和报告语言) ="Pathologically Eclectic Rubbish Lister" 

Python 得名于电视剧Monty Python\'s Flying Circus 

Tcl = Tool Command Language 

Tk = ToolKit 

VT = Video Terminal  

YaST = Yet Another Setup Tool

apache = "a patchy" server 

apt = Advanced Packaging Tool 

ar = archiver 

as = assembler

awk = "Aho Weiberger and Kernighan"三个作者的姓的第一个字母

bash = Bourne Again SHell 

bc = Basic (Better) Calculator 

bg = BackGround  

biff = 作者HeidiStettner在U.C.Berkely养的一条狗,喜欢对邮递员汪汪叫。

cal = Calendar (日历) 

cat = Catenate (链接) 

cd = Change Directory 

chgrp = Change Group 

chmod = Change Mode 

chown = Change Owner 

chsh = Change Shell 

cmp = compare

cobra = Common Object Request BrokerArchitecture 

comm = common 

cp = Copy 

cpio = CoPy In and Out

cpp = C Pre Processor 

cron = Chronos 希腊文时间 

cups = Common Unix Printing System 

cvs = Current Version System 

daemon = Disk And Execution MONitor 

dc = Desk Calculator 

dd = Disk Dump (磁盘转储)

df = Disk Free  

diff = Difference 

dmesg = diagnostic message 

du = Disk Usage 

ed = editor 

egrep = Extended GREP 

elf = Extensible Linking Format 

elm = ELectronic Mail 

emacs = Editor MACroS 

eval = EVALuate 

ex = EXtended 

exec = EXECute (执行)

fd = file descriptors 

fg = ForeGround

fgrep = Fixed GREP 

fmt = format 

fsck = File System ChecK 

fstab = FileSystem TABle 

fvwm = F*** Virtual Window Manager 

gawk = GNU AWK 

gpg = GNU Privacy Guard 

groff = GNU troff 

hal = Hardware Abstraction Layer 

joe = Joe\'s Own Editor 

ksh = Korn SHell 

lame = Lame Ain\'t an MP3 Encoder 

lex = LEXical analyser 

lisp = LISt Processing = Lots of IrritatingSuperfluous Parentheses 

ln = Link

lpr = Line PRint 

ls = list 

lsof = LiSt Open Files 

m4 = Macro processor Version 4 

man = MANual pages 

mawk = Mike Brennan\'s AWK

mc = Midnight Commander 

mkfs = MaKe FileSystem 

mknod = Make Node 

motd = Message of The Day 

mozilla = MOsaic GodZILLa 

mtab = Mount TABle 

mv = Move 

nano = Nano\'s ANOther editor 

nawk = New AWK  

nl = Number of Lines 

nm = names 

nohup = No HangUP 

nroff = New ROFF 

od = Octal Dump 

passwd = Passwd

pg = pager 

pico = PIne\'s message COmposition editor 

pine = "Program for Internet News &Email" = "Pine is not Elm" 

ping = 拟声 又 = Packet Internet Grouper 

pirntcap = PRINTer CAPability 

popd = POP Directory

pr = pre 

printf = Print Formatted 

ps = Processes Status 

pty = pseudo tty 

pushd = PUSH Directory 

pwd = Print Working Directory 

rc = runcom = run command, rc还是plan9的shell 

rev = REVerse 

rm = ReMove  

rn = Read News 

roff = RunOFF 

rpm = RPM Package Manager = RedHat PackageManager 

rsh, rlogin, rvim中的

r = Remote 

rxvt = ouR XVT  

seamoneky = 我

sed = Stream Editor 

seq = SEQuence 

shar = Shell ARchive  

slrn = S-Lang rn 

ssh = Secure Shell

ssl = Secure Sockets Layer 

stty = Set TTY 

su = Substitute User 

svn = SubVersion 

tar = Tape ARchive 

tcsh = TENEX C shell  

tee = T (T形水管接口) 

telnet = TEminaL over Network 

termcap = terminal capability 

terminfo = terminal information 

tex = τέχνη的缩写,希腊文art 

tr = traslate 

troff = Typesetter new ROFF 

tsort = Topological SORT 

tty = TeleTypewriter 

twm = Tom\'s Window Manager 

tz = TimeZone 

udev = Userspace DEV 

ulimit = User\'s LIMIT 

umask = User\'s MASK 

uniq = UNIQue

i = VIsual = Very Inconvenient 

vim = Vi IMproved 

wall = write all 

wc = Word Count   

wine = WINE Is Not an Emulator 

xargs = eXtended ARGuments 

xdm = X Display Manager 

xlfd = X Logical Font Description 

xmms = X Multimedia System 

xrdb = X Resources DataBase 

xwd = X Window Dump 

yacc = yet another compiler compiler 

Fish = the Friendly Interactive SHell  

su = Switch User 

MIME = Multipurpose Internet Mail Extensions 

ECMA = European Computer ManufacturersAssociation

以上是关于Linux的主要内容,如果未能解决你的问题,请参考以下文章

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

linux中怎么查看mysql数据库版本

-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段

text Debian linux片段

markdown 我的linux片段为RHCSA