PROCESS 进程
一个程序 开启一个进程
ps aux|less报告系统当前的进程状态
USER 进程启动者 (哪个用户在使用这个进程)
PID 进程号
%CPU 百分比CPU的使用率
%MEM 以百分比标识的内存使用率
VSZ 虚拟内存大小
RSS 进程占用的物理内存的大小,以前字节为单位
START 进程运行的其实时间,若超过24小时,则用天表示
/vim 进行相应内容查找
ps aux|grep vim 也可以直接得到进程名对应进程
kill PID号 就可以杀死相对应的进程
命令行启动图形化界面
启动其他程序 firefox
若要后台执行则 firefox &
则就在后台启动,命令行也还是可以用的
Ctrl +D 停止运行, 则程序没有响应
恢复则就敲 bg
fg 回到前台 Ctrl +C 结束
kill -9 PID号 强制杀死,
但程序占用大量内存,使桌面系统被拖死
无法输入
Ctrl Alt F1 则可以到达第一个工作台
杀死相应的进程 再Ctrl Alt F7 回到原来工作台
shell 退出命令exit
Search 查找
locate 系统权利范围内
find 目录范围内
grep 字符串范围内
locate vimrc 就可以打印系统路径上所有包含vimrc的文件了
locate 是从一个数据库中去查找,所以很快 ,而不是直接FIle System
更新数据库
sudo updatedb
find . 当前目录的所有内容
find .|grep .txt 后缀为txt 文件
find . -type f 查看文件
find . -type d 查看目录
find . -type f -exec ls -l '{}' ';'
对找到的文件的操作 结束符
//查找相应的字符串
find . -type f -exec grep hello '{}' ';'
//查找相应的字符串,并打印文件名
find . -type f -exec grep hello '{}' ';' -print
//查找相应的字符串,并打印文件名。和匹配项所在的行号
find . -type f -exec grep -n hello '{}' ';' -print
//忽略小写
find . -type f -exec grep -ni hello '{}' ';' -print
网络操作
ssh 远程
rsync数据传输
本机(客户端) openssh-client (ubuntu-destop)
服务器端 openssh-server (ubuntu-server)
如服务器的域名为
happycasts.net 106.186.22.51
ssh peter(服务器的用户名)@happycasts.net 就可以链接服务器了
每次登陆都要输入一遍密码,太麻烦,可以
在本地机器上
ssh-keygen
cd ~/.ssh
ls
id_rsa id_rsa.pub
私钥private 公钥public
我们要做的就是把公钥存到 服务器的 /home/peter/.ssh.authorized_keys
可以手动拷贝粘贴,也可以用系统命令进行
ssh-copy-id
[email protected]
则以后登陆就可以不用输入密码了
是用vim 编辑器进行远程操作可能会遇到突然间网络断开,
或者自己进行CTRL +D 退出链接,导致失去当前的页面操作
可以使用tmux
tmux 终端窗口管理器
tmux a 可以重新回到原来的操作现场
推荐视频 HappyCasts 41 期
rsync -r mydir(文件目录) happycasts.net(服务器名):(冒号后面可以进一步添加路径)
不指定目录会自动默认主目录
rsync -r happycasts.net:mydir .
将服务器上的数据加载到本地
文件有删除增加 通过rsync 同步
rsync -av --delete mydir/happycasts.net:mydir/ 否则无法删除
软件安装
Sublime 代码编辑器
下载后,解压缩
mv Sublime\ Text\ 2 .sublime 移动到其他目录
echo $PATH 环境命令
变成系统可执行的文件,可以为它创建一个路径链接
ln -s ~/.sublime/sublime_text(文件位置) ~/bin/(文件名)
自己下载源码
hello-2.2.tar.bz2 解压后
进入相应的目录结构中
三步曲
第一 ./configure
第二 make
第三 sudo make install
sudo apt-get instal ncursew ... 安装一些库
DEB封装包,可以解决各种安装问题,安装位置,程序本身等等
sudo dpkg -i google-chrome-stable_current_i386.deb
一个deb包安装后,会在相应的包数据库中留下丰富的信息,以便帮助以后的管理
通过dpkg -l|grep chrome(筛选字符串)
就可以查看相应的安装包
如果想查看某个包在系统上安装了那些文件,可以
dpkg -L google-chrome-stable(包名)
如果在使用过程中想知道某个文件由哪个包提供
则 dpkg -S /opt/google/chrome/chrome(文件名)
软件仓库 一般是通过源码包发布
安装软件
sudo apt-get install git(软件名)
删除软件
可以用sudo apt-get remove git
但是如果要把配置文件也删除的话可以
sudo apt-get purge git
有时候我们要安装的软件我们知道,但具体包名不知,可以
apt -cache search ncurse|less 查看
也可以通过Tab Tab 两次进行补齐
如果一些软件需要依赖文件,系统会提示是否安装
shell 脚本编程
有时候需要许多命令去执行,
则可以通过脚本编程的方式去进行
指定解析器 第一行要指定解析器
语句即命令
位置参数
脚本不再当前shell 执行 而是另开一个shell
循环控制
远程执行
确认执行
其他语言写脚本
./peter.sh 执行文件 另开shell
可以通过source peter.sh 则是在当前工作目录执行
vim rename.sh
创建并编辑文件
#!/usr/bin/env bash //声明行
cd $1 //实用参数
for file in a b c
do //开始
mv $file $file.txt
done //结束
但上面有局限性
在键盘Tab键上方有个特殊的导引号 `````
导引号中放入命令,则可以取出命令的输出
#!/usr/bin/env bash //声明行
cd $1 //实用参数
echo I am in `pwd`
for file in `ls`
do //开始
mv $file $file.txt
done //结束
python bash