安装软件,提示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 里设置(* 表示对所有用户):
- #......
- #@student - maxlogins 4
- * hard nofile 10240
- * soft nofile 10240
- # 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