前言,虽然工作中经常使用到linux到很少整理过使用到的命令,这里加深印象就整理一下
一.文件处理
linux系统中一切都为文件,先看看关于文件的
1.ls
ll 或 ls -l 下面各列所表示的含义 其他可选参数 -a 显示所有文件,包含隐藏文件 -d 查看目录属性 -h 人性化 -i 显示inode
-rw-r--r--. 1 root root 291385040 Feb 7 18:59 my.log
- | rw- | r-- | r-- | . | 1 | root | root | 291385040 | Feb 7 18:59 | my.log |
文件类型 -文件 d目录 l软连接 块设备文件等... | 所有者用户权限 r 度 4 w 写 2 x 执行 1 | 组权限 | 其他组用户权限 | ACL权限 | 引用个数 | 拥有者 | 所在组 | 文件大小 | 修改日期 | 文件名 |
2.建立目录
mkdir -p aa/bb递归创建
3.切换目录
cd ./表示当前目录 ../上级目录 - 返回上次的目录 ~当前用户的家目录
4.显示当前目录
pwd
5.删除目录
rmdir 只能删除空目录 rm -rf 递归强制删除 慎用 特别是rm -rf /
6.拷贝
cp 源文件 目标文件或目录 -r 复制目录 默认日期属性会变换 -a 文件属性保持不变
7. 剪切或改名
mv 源文件 目标文件
8.常见目录作用
boot 系统挂载目录
9.链接命令
软链接 硬链接 硬链接文件引用计数会增加 inode节点一样
ln 源文件 目标文件 创建硬链接 不能操作文件夹
ln -s 源文件 目标文件 创建软链接
二、文件搜索命令
1.locate命令
locate 文件名 这个是基于数据库搜索的,但这个命令不一定有,需手动安装sudo yum install mlocate
sudo updatedb 初始化数据库
可自定义建立数据库搜索规则 /etc/updatedb.conf
2.whereis命令
搜索系统命令的可执行的位置 which与whereis ,which看到命令的别名 ,linux命令是在PATH中搜索
3.find命令
find [搜索范围] [搜索条件]
linux中的通配符 *匹配任意内容 ?匹配任意一个字符 [] 匹配任意一个中括号内对的字符
4.grep命令
在文件中搜索字符串
三、帮助命令
1.man 命令
2.命令本身 --help
3.help shell内部命令
4.info命令 巨大的帮助文档
四、压缩命令
zip 将生成的压缩文件名 源文件或问价夹 -r 压缩文件夹 unzip 解压 .zip
gzip 默认不保留源文件 ,不能压缩目录 .gz
bzip2 默认不保留源文件 ,不能压缩目录 .bz2
tar 打包 tar -cvf c 表示打包 v显示过程 f 文件名 x为解包 z为gz格式 j为bz2格式 -C指定解压目录
五、关机与重启命令
重启 reboot ,init 6 对于init可以用runlevel查看当前init的level 配置文件/etc/inittab,不过现在不用了
inittab is no longer used when using systemd
关机 init 0,powerof ,halt
重启与关机 shutdown -r now 重启 shutdown -c 取消上次关机 -h 关机 推荐的关机重启方式
退出登入 logout
六、挂载命令
挂载命令 mount 相关配置文件/etc/fstab mount -a 将这个文件中的配置都自动挂载 -t指定文件格式
取消挂载 umout 加设备名或挂载点
七、查看用户登入信息
w 查看所用用户登入情况,包括cup占用情况等
who 简要查看所有用户登入情况
last 所有用户记录
lastlog 所有用户最后一次登入记录
八、其他常用命令
ps -ef | grep xxxx| grep -v grep | awk '{print $2}' | xargs kill -9 杀掉某些进程
uname -a 查看系统和发行版本
cat /proc/version 查看系统和发行版本
cat /etc/os-release 查看系统和发行版本
rpm -q centos-release (centos 用) 常看以安装软件的版本
make 手动编译
make install 手动安装
curl 测试访问的服务 例如
curl http://10.150.29.175:8322/team-data/followed -X POST -H "Content-type: application/json" -d '["222129130","222129131"]'
netstat -tnulp | grep xxx和ps aux | grep XXX 查看端口的使用情况
df -lh 查看磁盘使用情况
du -sh /xxx/xx 查看某个文件夹或文件的大小
free -h 查看内存使用情况
cat /etc/passwd 常看所有的用户和组 依次为 用户名:密码:用户id:组id:备注:用户家目录 shell命令所在的目录
查找文件命令 find which whereis
top 查看进程内存使用情况
ps -ef | grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9 批量杀死xxx相关的进程
解释一下ps -ef 之后各列表示的含义
列一 进程用户id root
列二 进程id 12134
列三 父进程id 10651
列四 cpu调用情况,CPU用于计算执行优先级的因子 0
列五 进程的启动时间 09:56
列六 启动进程的终端名 pts/2
列七 进程共占用CPU的时间(TIME) 00:00:00
列八 启动进程的命令 grep --color=auto mongo
新建文件夹 多级 mkdir -p aaa/bbb/ccc
nohup java -jar app_data-0.0.1-SNAPSHOT.jar & nohup 即终端关闭也继续执行,&终端不变的情况下后台运行,
查看端口使用情况 netstat -tunlp |grep 8000
- -t (tcp) 仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化为数字
- -l 仅列出在Listen(监听)的服务状态
- -p 显示建立相关链接的程序名