Linux
来源:互联网 发布:java 同步互斥 编辑:程序博客网 时间:2024/06/05 20:07
企业对 Linux 的要求
日常操作
cd
,ls
,cp
,mv
,rm
,mkdir
- cp / mv / rm : -i 询问 -f 强制 -n 不覆盖
pwd
显示当前完整路径ln -s [src_file] [dst_file]
touch
没有则创建,有则忽略history
- bashrc 配置显示时间: export HISTTIMEFORMAT=”[%y-%m-%d_%T] “
进程管理
ps -aux
查看进程top -p PID1,PID2,PID3,...,PID20
动态监控进程free -m
查看内存kill -9 -15 -HUP
给进程发送信号pkill [ProcessName]
按名字处理进程killall [MatchedProcessName]
处理名字匹配的进程
权限管理
su -
切换用户身份sudo
以管理员执行chmod -R
修改权限chown -R `id -u`:`id -g` filename
修改所有者
日志管理
cat
查看文件head -n N
前 N 行tail -n N
后 N 行less
- 按 j 向下, 按 k 向上, 按 q 退出
awk '{print $N}'
打印出相关列
查找
grep
- 参数
-rn
递归查找目录,并打印行号--include='*.py'
仅包含 py 文件--exclude='*.js'
不包含 js 文件
- 参数
find DIR -name '*.xxx'
找到目录下所有名字匹配的文件which
精确查找当前可执行的命令where
查找所有匹配的命令whereis
查找匹配的目录sort
uniq
history | tail -n 10 | awk '{print $4}' | sort | uniq -c | sort -r
网络管理
ifconfig
查看网卡状态netstat -natp
查看网络连接状态ping -i 0.5
lsof -i :[PORT]
查看占用端口的程序telnet [HOST] [PORT]
查看远程主机网络连接状况traceroute [HOST]
路由追踪dig [DOMAIN]
DNS 查询
下载
curl
执行 HTTP 访问,也可用来下载wget
下载
远程登录
ssh [username@host]
默认端口 22,其他端口使用 -p 参数- RSA key
- GFW:
ssh -qTfnN -D 7070 [username@host]
- 本地执行远程命令:
ssh username@host '[command]'
ssh-keygen
scp -P [PORT] filename username@host:/path/
rsync -cvrP --exclude={.git,.hg,.svn} --delete
压缩解压
tar
- 压缩:
tar -czf newfile.tgz files
- 解压:
tar -xzf file.tgz
- 压缩:
zip
- 压缩
zip -r newfile.zip src-file1 src-file2 ...
-N
指定压缩比
- 解压
unzip file.zip
- 压缩
登录状态
uname -a
hostname
查看/修改主机名w
查看登陆者信息who
查看登陆者信息whoami
当前用户名last
最近登录记录
磁盘管理
du -hs
以友好方式显示文件大小df -h
查看磁盘分区的占用情况dd
以块的级别进行磁盘复制if
(input file) 输入文件of
(output file) 输出文件bs
(block size) 块大小 (单位: k, m, g)count
块数量dd if=[src_file] of=[dst_file] bs=[size] count=[num]
安装
make
编译./configure
执行编译的配置make
执行编译make install
安装编译文件到系统目录make clean
删除编译结果
apt-get
debain 系 Linux 的程序安装- apt-get install xxx
yum
redhat 系 Linux 的程序安装- yum install xxx
环境变量
export
设置一个全局环境变量unset
删除变量$PATH
可执行文件的存放目录export PATH=[your path]:$PATH
$HOME
家目录$PWD
当前目录
基础的的 bash 脚本语句
for...do...done
for v in
ls ./
;
do
echo $v
doneif...then...else...fi
if [[ -d src ]];then
echo “Yes”
else
echo “No”
fiecho
print
seq
相当于 Python 下的 range
手册
man [command]
操作手册
其他工具
vim
- http://man.lupaworld.com/content/manage/ringkee/vim.htm
- https://www.douban.com/group/topic/15654295/
- http://www.oschina.net/question/615783_148433
- esc 键,默认模式
- i 键,插入模式
- shift + : 键,命令模式
- :q 退出
- .vimrc
git
git init
初始化 .git 文件夹git add
添加追踪git reset
取消 add 状态git commit
提交git status
查看当前状态git checkout
切换分支git branch
分支管理git pull
拉去远程代码git push
将本地代码推送到远程库git diff
差异对比git log
查看提交历史初始化新库
cd your_project_dir
git init
git add ./
git commit -m 'this is my first commit'
git remote add origin git@github.com:your_github_path.git
git push -u origin master
Python
pip
virtualenv
两个符号
|
,>
- | 管道符: 把前面的输出结果作为后面命令的参数
- > 重定向: 把前面的输出结果导入到指定的文件中
目录结构
/ |- bin 系统可执行目录 |- boot 启动目录 |- dev 设备目录 /dev/null (无底洞) /dev/zero (无限 0 数据流) /dev/shm (内存文件夹) |- etc 配置 |- home 用户目录 |- lib 系统库 |- media 挂载设备 |- mnt (mount) 挂载设备 |- opt 个人安装的程序 |- proc 当前的进程、运行状态信息的目录 |- root 管理员的目录 |- run 运行中的程序的日志文件 |- sbin 系统管理员的可执行目录 |- tmp 临时文件夹 |- usr 资源目录 |- var 可变的、临时性的文件,各种系统日志文件
- linux
- linux
- Linux
- Linux
- LINUX!
- Linux
- linux
- linux
- linux
- Linux
- linux
- linux
- linux
- linux
- Linux
- linux
- linux
- Linux
- linux tomcat 安装
- 高仿iOS 滚轮实现 省市区 城市选择三级联动
- 网络请求在主线程里面直接封装
- spark 任务运行原理
- Android Studio相关
- Linux
- java回车键登录
- 浏览器滚动条设置
- [FAQ13618]L版本之后如何开启AAL功能
- Windows单机配置Kafka环境
- GKLinearCongruentialRandomSource
- QQ第三方登录获取头像
- 2017第十五届欧亚中国郑州国际酒店用品博览会会刊(参展商名录)
- 机器视觉的相机标定