unix 基本操作。

安装软件,提示lock
1.check apt
ps-a | grep apt
2.rm /var/lib/dpkg/lock.
3. apt-get update


apt-get install vim
如果提示缺少组件。那么执行命令,补全组件。
sudo apt-get -f install

查看当前内核信息
# uname -a

查看当前操作系统发行版信息

#cat /etc/issue

查看cpu型号

# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

1.

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

2.

shutdown--则破坏了socket 链接,读的时候可能侦探到EOF结束符

1)添加你的path环境变量。记得第二行命令。

export PATH=${PATH}:/usr/local/lib:/usr/local/include
sudo ldconfig

2)修改文件权限。

chmod 777 test.cpp

3)安装 tcp 删除工具.

suto apt install dsniff

4)打开的文件句柄.

cat /proc/sys/fs/file-nr

5)

ulimit -n 10000 修改当前 shell的最大文件描述符打开数。

7)

永久修改软硬上限(RHEL6.4), 在 /etc/security/limits.conf 里设置(* 表示对所有用户):

 
  1. #......  
  2. #@student        -       maxlogins       4  
  3.   
  4. *    hard    nofile    10240  
  5. *    soft    nofile    10240  
  6.   
  7. # End of file  

8)查看打开的句柄数.

# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more 

9) 查看某进程的打开句柄数



10)
根据端口和地址查看 socket

netstat -apt -n 192.168.87.160 |grep 3050

11)

1. tcp 收发缓冲区默认值

 cat /proc/sys/net/ipv4/tcp_rmem 

4096    87380   4161536

87380  :tcp接收缓冲区的默认值

 cat /proc/sys/net/ipv4/tcp_wmem

4096    16384   4161536

16384  : tcp 发送缓冲区的默认值

string 最大长度可达3g多,所以string轻松一次接受整个缓冲区。

12)端口范围

port的取值范围是 0 - 65535(即2的16次方),0到1024是众所周知的端口(知名端口,常用于系统服务等,例如http服务的端口号是80)。个人写的应用程序,尽量不要使用0到1024之间的端口号。

13) google chrome

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

dpkg -i google-chrome-stable_current_amd64.deb

14)删除软件

sudo apt-get remove --purge 软件名称  
sudo apt-get autoremove --purge 软件名称 

方法二、如果不知道要删除软件的具体名称,可以使用

dpkg --get-selections | grep ‘软件相关名称’

16)安装。
sudo dpkg -i *.deb


13sudo su失效。

基本要修改文件权限等。
1.先进入recover 模式,选root
2.#mount -o remount,rw /
3.#chown root:root /usr/bin/sudo 或
root:root /usr/lib/sudo
  #chmod 4755 /usr/lib/sudo
第3步就是看你要修改哪个。为什么网上老失败。就是没注意别人的问题和你的不一样。


跟window挂在某个分区

mount -t cifs -o username='Administrator',password='liangshun' //192.168.1.152/h /mnt/share
//192.168.1.152/h /mnt/share cifs auto,username=‘echo’,password=‘123456’ 0 0

kill

kill -19 pid

killall 进程名字

 

通常,应该发送15,等一两秒钟,如果没效果,发送2,如果还不行,发送1。如果还不行,那你应该把那个程序删掉,因为那个程序写的太烂了!

不要使用kill -9。不要用收割机来修剪花盆里的花。

grep 正则表达式
http://www.cnblogs.com/end/archive/2012/02/21/2360965.html

awk工作流程是这样的:读入有' '换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。


ps

1.命令格式:
ps[参数]

2.命令功能:
用来显示当前进程的状态

3.命令参数:
a  显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c  显示进程的真实名称
-N 反向选择
-e 等于“-A”
e  显示环境变量
f  显示程序间的关系
-H 显示树状结构
r  显示当前终端的进程
T  显示当前终端的所有程序
u  指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程 
-C<命令> 列出指定命令的状况
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示

user 用户名
uid 用户号
pid 进程号
ppid 父程号
size 内存大小, Kbytes字节.
vsize 总虚拟内存大小, bytes字节(包含code+data+stack)
share 总共享页数
nice 进程优先级(缺省为0, 最大为-20)
priority(pri) 内核调度优先级
pmem 进程分享的物理内存数的百分比
trs 程序执行代码驻留大小
rss 进程使用的总物理内存数, Kbytes字节
time 进程执行起到现在总的CPU暂用时间
stat 进程状态
cmd(args) 执行命令的简单格式

 

D 不可中断 Uninterruptible sleep (usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程


< 高优先级
N 低优先级
L 有些页被锁进内存
s 包含子进程
+ 位于后台的进程组;
l 多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

查看全局环境变量:env
查看所有环境变量:set
删除一个变量:unset [变量名] #只针对当前会话
    
设置一个变量:name=songjiankang
        export name #将这个变量提升为全局的,注意只能是当前会话可以访问,要想下次也可以访问必须写到文件里
        
环境变量的配置文件:
        
    全局:/etc/profile
    局部:~/.bash_profile
    
常见的几个环境变量:

    $USER, $LOGNAME
    $UID, $SHELL, $HOME,
    $PWD, $PATH
    $PS1:[u@h W]$
    $PS2:敲错以后进入的符号

$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列以冒号分割的目录    
注意:最好不要把 "./" 放到 PATH 中,这样会引起安全问题

查看PATH 值的方式:echo $PATH  或 export

修改环境变量
    1、用命令直接修改但只能在当前会话生效
       export JAVA_HOME=/usr/local/java   #添加新变量名
       export PATH=$PATH:/usr/local/php/bin #修改已有变量名
       测试是否成功:echo $JAVA_HOME 或 env命令、
       
    2、修改全局配置文件    
       vim /etc/profile
       在文档最后,添加:   export PATH=$PATH:/usr/local/php/bin
       执行 source /etc/profile 否则需要重写登陆
       
    3、类似个人环境变量配置文件
       vim ~/.bash_profile
       后面步骤同2

原文地址:https://www.cnblogs.com/lsfv/p/6343818.html