首页 > 代码库 > Linux
Linux
一个操作系统。
1.远程登录的方式:windows连接linux的方式。
secureCRT;xshell;ssh;
命令窗口连接:ssh 用户名@ip地址 现在win上安装ssh bin目录加入环境变量;
2.上传下载文件:
a.工具:xftp----->sftp协议;fileZille;winscp;
b.命令:rz:上传。输入rz会弹出选择窗口; 只能上传文件不能文件夹
sz:下载。sz 文件名; ----->上传下载的路径在远程工具里面进行设置
yum -y install lrzsz ------>先进行安装
3./etc/rc.d./rc/local 开机启动的文件
4.[用户名@主机名 所在目录]$/# $为普通用户;#为root用户;
5.注销:exit:字符界面;logout:仅文本终端;
重启:reboot:可不接参数/接参数:-w;-d;-f
shutdown:至少两个参数。-r 延时分钟数 “提示信息内容”;-r now 立即重启;
关机:halt;poweroff;init 0;shutdown -h now/延时分钟数 “提示信息内容”;
-------必须root全新才能操作。
6.一般默认进入文本页面。
修改/etc/inittab的initdefault参数,修改默认启动的界面;
3为默认进入文本界面,5为图形化界面
输入init5或startx切换到图形化界面;输入init3切换到文本页面;
7.用户:useradd 用户名 ------>添加用户;
passwd 用户名 --------->给用户添加密码;
usermod ------->修改用户
userdel 用户名 -------> 删除用户;
所有用户都在/home目录下;
切换用户:su;
su 用户名:不会加载用户的环境变量;
su - 用户名:会加载用户的环境变量;
id和whomi 可查看当前登录的用户
pwd 查看当前目录
环境变量:不管在哪个路径下都能使用
source 重新生效
8.用户组:groupadd 组名 ------->添加组; ------------练习添加和删除组
groupmod -g 组的新id -n 新组名 旧组名 -------->修改组;
groupdel 组名 -------->删除组
9.查看ip地址:ifconfig ip a;
10. /bin全部放的为可执行的文件
/usr 用户自定义的
/sbin 操作系统本身运行的一些命令
/etc 都是配置文件
/tmp 临时文件
/lib 空文件
/var日志等文件
/home 所有用户的家目录
11.vi 文本编辑器
默认进入的是命令模式,按键进入编辑模式:i 当前位置;a下一位置;o下一行;
esc退出编辑模式: q为退出;!为强制;w为保存
输入:wq保存退出;q;q!;wq;w;!;
新建文件:vi 不存在的文件名--->输入内容保存--->文件添加成功;
查找:命令模式下输入 /往下查找内容;输入?往上查找;
按键n跳到下一个,N跳到上一个;
编辑:命令行模式下输入
nyy:n是行数,yy是复制
p:粘贴
ndd:n是行数,dd是删除;直接输入dd是删除一行;
G:光标移动到末尾
命令模式下输入:set number/:set nu 显示行号;取消行号:set nonu
:数字 就跳到第几行
y是复制,d是删除,%是全部
:第几行,第几行y/d/
:%y/d
:第几行,第几行s/被改的内容/改成什么/g /g是改全部,不加是改每行的第一个;
:%或第几行,第几行 g/被删除的内容/d ---->删除包含内容的全部行;
13.文件相关命令:
a.查看文件: ls:查看目录里的所有文件 ;
ls -文件名:查看单个文件;
ls -l:查看文件详细信息 ---->ls -l 所有文件详细信息,ls -l 文件名 文件的详细信息; <===>ll
ls -a:显示隐藏文件; --------->ls -la显示所有文件的隐藏信息
ls/llM* 查看M开头的所有的文件;
alias 造命令 ---->例,想直接输入命令就切换到某个路径:alias cdn=‘cd /usr/local‘
unalias去掉,取消别名;
.bashrc 用户的命令配置;
source 刷新文件 ----->例,修改了文件后刷新文件:source .bashrc
b.切换目录:cd 目录路径
cd/cd ~/cd -/cd .. ---->直接回家目录/上一次操作目录/上一级目录
root的家目录在/root; cd .代表当前目录,..表示上级目录;../..代表上两级目录;
c.复制文件/文件夹:cp -rf 文件或文件夹都可复制,直接覆盖 ----->cp -ef 文件名/目录 目的目录
两台电脑之间复制:scp 文件名 用户名@ip:目的路径
d.mv:移动和重命名;
移动:mv 文件 目的目录;mv -f 文件 目的目录 -->直接覆盖,不提示;
重命名:mv 文件 新的文件名
e.pwd:显示当前路径;
f.删除文件/文件夹:rm ------>rm -rf 删除并没有提示;
g.mkdir 名称:创建目录
mkdir -p 目录:如果父目录不存在会自动创建;
h.rmdir只能删除非空文件夹;
i.查看文件内容:cat/more/less ------------>ctrl+c退出more ;q退出less
不能分屏的显示内容,适合看内容少的文件/后两者能分屏的显示--一页一页的显示,下一页按回车键/用于看日志啥的
tail 文件名:默认显示后10行; tail -f 文件名:会动态的去看,就是前台在访问时,会实时的显示日志之类的;ctrl+c退出
head 文件名:默认显示前10行;
env查看环境变量
14.ln:创建软连接,就跟windows的快捷方式一样
15.du -sh 目录/文件/* 目录/文件的大小
df 硬盘使用多少;df -lh 硬盘已用和未用的大小
16.lsof 文件名:显示文件被谁打开了,被哪个机子打开了;
lsof -i :端口号 查看端口号是否被占用 有进程但是没有操作是看不到;
natstat -nlpt|grep 80 只要能查到说明是被占用了,查不到就没被占用;
17.chmod 赋权限
a.数字权限:r=4 w=2 x=1 chmod 777 文件名
b.文本权限:chmod -/+r/w/x 文件名;chmod u/g/o/a+r/w/x
c.给文件夹赋权限 要加-R ------> chmod -R g+wxr 文件夹名
18.更改用户组:chgrp 组名 文件或用户名 --->只有root用户才能进行修改
chgrp 组名 文件夹名 --->只会修改文件夹的组,里面的不修改;加上-R 会连文件夹里的内容的组一起更改 chgrp -R 组名 文件夹名
chown 改变用户和组 ----chown [-R] 用户:组 被改的目录 -R是目录及目录里的全部都改
使用权限是root权限
19.wc统计文件的行数,字节数,字数等
最常用的是 wc -l 统计行数先执行完前面的命令,再用后面的进行统计
| 管道符 前面的结果给后面的命令 ls |wc -l 先执行完前面的命令,再用后面的进行统计
20.clear 清屏
history 查看之前输入的命令
搜索命令:
grep 查找文本的内容 grep 参数 “搜索内容” 文件名 ---无参数时输出匹配行,就是包含搜索内容的那一行全部输出
-c 输出匹配的行数,一共多少行包含搜索内容
-v 输出不匹配行
经常和管道符一起用 ps -ef 查看所有进程 ---ps -ef|grep mysql
find 查询文件和文件夹 find 路径 -name 文件/文件夹名 ---find / -name java
不加路径默认当前路径
locate 直接从数据库里搜 比find快 但是需要安装
whereis 搜索程序名并只能是二进制文件
打包:gzip [-1...9][] 文件 ---多用于日志的备份
解压 gunzip 文件名
zip 文件.zip 文件 unzip 文件.zip 解压 需要yum安装unzip
tar [参数] 文件.tar 文件
c/x/v 打包用c,解压用x v显示正在打包哪个文件;z 压缩 ---tar czvf 文件.tgz/文件.tar.gz 文件
ps查看进程 常用的ps -ef
top 动态的
ps与top区别 ps是静态的,只能看某一瞬间;top是动态的
kill 终止程序 kill -9 [进程pid] 立即停止
后台运行:&; nohup .... run & 关闭终端也能后台运行 输出在 nohup.out里面 可以tail -f nohup.out动态的看
定时任务:crontab 格式为“M H D m d cmd” ---分钟 小时 天 月 星期 运行的程序
* * * * * sh /opt/lampp/test.sh 没分钟都执行
30 21 * * * /usr/local/apache/bin/apachect1 restart 表示每晚的21:30重启apache
crontab -e 进入编辑界面 与vi的一样 输入i 进入编辑模式
touch 不存在的文件名 创建空文件;touch 已存在的文件名 更新文件的时间;
linux软件安装:
rpm ---不需要加环境变量
rpm -ivh jdk.rpm 安装
rpm -e jak.rpm 卸载,不需要指定版包的版本号
rpm -qa 查看所有以rpm安装的软件
> 是重定向,原来的东西会被覆盖 ---例,cat a.txt > b.txt 将a.txt的内容复制到b.txt中
rpm -qa >b.txt 将查询出的内容都重定向到b.txt文件中
>>不会覆盖原来的东西
yum安装:自动的去安装,不需要下载安装包
yum -y install -y是全部同意
yum list install |grep 文件 查询文件是否安装
yum remove mysql 卸载yum安装的mysql
源码安装:
1.生成makefile编译文件
2.make编译
3.make install
chkconfig --list 目前系统有哪些服务
chkconfig iptables off/on 开机不启动/开机启用 ----必须是yum安装的
iptables 防火墙;network 网络;httpd apache;nginx nginx;
/ect/rc.d/re.local 开机启动文件
date 看当前时间 date +‘%Y%m%d %H:%M:%S 格式获取
cal查看日历
awk ‘{print $2}‘ 取第二列
shell脚本:命令的集合,会自动化的去执行一些命令
批处理:把命令集合起来,全部一起执行
交互式:执行一条返回一个信息
linux的shell是bash shell ---把写东西解释给计算机
.sh结尾的;windows是以.bat结尾的 ---vi test.sh
echo "" 输出
chomd 给test.sh加执行权限
./test.sh 或 bash test.sh 执行
在脚本中一般加上#!/bin/bash ---告诉计算机是用bash shell 执行的 #表示注释
pid=`` 赋值 =号左右不能有空格
$pid 取值
里面要写绝对路径
if判断:
if [ $pid ] ---$pid左右必须有空格 ---当取到了值
then
执行接下来的
else ---没有取到值
echo ‘已经停止了‘
fi ---结束if循环
查进程一定要查唯一的值
Linux