首页 > 代码库 > linux基础
linux基础
用户管理:
id:可以查看当前用户
whoami:查看当前的用户
who:看当前已经登录的用户 w:也可以看
添加用户:useradd name
添加用户组: useradd -g groupname uername passwd zhaoyuanyuan 用户默认的家目录就是在/home/目录下
给添加的用户加密码、还可以重置密码 ~ 波浪线代表家目录:
快速回到家目录:cd ~
切换用户: su username su - username 区别就是su - 会重新加载用户的环境变量
sudo 获取超级用户权限的 添加普通用户sudo的权限 /etc/sudoers文件 找到 root ALL=(ALL) ALL username ALL=(ALL) NOPASSWD:ALL
删除用户 userdel username
userdel -r xw 删除用户的时候也删除它的家目录
组管理 添加组 groupadd name
删除组 groupdel name
对目录(文件夹)的操作
pwd 显示当前你所在路径
cd 进入哪个目录(文件夹)
创建文件夹 mkdir mkdir -p /tmp/besttest/blk
删除文件夹 rm -rf / rmdir:只能删除空文件夹
查看文件下面的东西: ls -l == ll ll
所有者的权限 同一组的权限 其他用户的权限 rw- r-- r-- ls -a
改名 mv besttest linux mv besttest /tmp mv如果后面跟的是文件名改名,如果后面跟的是路径是移动
复制 cp ax /tmp/ 复制文件 cp -r linux /tmp/ 复制文件夹 cp -rf linux
alias wgy=‘cd /opt/lampp‘ 永久生效的话,加到/etc/profile这个里面 /顶级目录,相当于Windows的我的电脑
相对路径:相当于当前路径
绝对路径:实际的路径
cd ..#回到上一级目录 cd ../../#回到上两级目录 cd - 返回上一次所在的目录
加权限: x代表执行 w代表写 r代表读
chmod o+x 其他用户
chmod g+x 本组用户
chmod u+x 自己
chmod +rwx 所有
chmod a+x 所有 去掉权限,就是把+变成- r=4 w=2 x=1 数字模式代表的权限
chmod 755 file 如果加权限的是一个文件夹的话要加 -R chown 改变文件的所有者
chown file user 如果是一个文件夹的话要加 -R chgrp 改变文件的所属组
chgrp file group 如果是一个文件夹的话要加 -R
wc -l file 统计行数 |管道符:连接两条命令,把前面的命令执行结果给后面的命令处理
ls |wc -l && 连接两条命令,先后执行 sh startup.sh && tail -f /logs/catlina.out
对文件的操作
vi: 切换编辑模式和命令模式:
i:当前位置 o:当前行的下一行 a:下一位置进行编辑 esc:编辑模式切换到命令模式 退出vi:
命令模式下:":q"#没有修改的话可以直接退出 ":q!"#不保存退出 ":wq"#保存退出 ":x"#也是保存退出
查找: /test 从头开始找 ?test 从文件末尾开始找
显示行号: ":set nu" 取消显示行号: ":set nonu"
快去去到某一行:9
快速到文件末尾:shift+g
x:删除单个字符 dd:删除整行 19dd:删除19行
u:撤销
yy:复制一整行 19yy:复制19行 p:粘贴
.:重复前一次操作
$:移动光标到行尾 0:移动光标到行首
替换字符串: ":%s/src_str/new_str/g" cat more less
tail -f ln /opt/lampp/xampp ~/wxy
find / -name mysql #查找文件/文件夹
grep xxx file 查找文件 grep -v 过滤掉指定的关键字 tail -f /opt/lampp/logs/access_log |grep wgy
du -sh * 可以看到当前目录下所有文件的占用空间 du -sh dirname df -h 可以看到当前磁盘已经使用了多少
安装软件 上传、下载
ftp工具:直接拖拽、什么都可以上传,要sftp协议 rz、sz命令可以直接上传下载,但是它不能上传文件夹
开关机、重启 关机
shutdown -h 30 #定时关机 shutdown -h now #立即关机 init 0 #立即 reboot 重启 shutdown -r 20 "我要重启啦" 定时重启
注销 exit
网络的 ip a ifconfig dhclient#自动获取ip
压缩、解压文件
tar cvf linux.tar linux #直接打包,前面是包的名字,后面是你要给谁打包
tar zcvf linux.tgz linux# 压缩 tar xvf linux.tar linux #解压,不管你压缩没压缩都能解开
zip linuz.zip linux 打zip包 unzip linuz.zip gzip file 只能对文件打包,打包完原来的文件就没有了
gunizp file.gz cat xx > new_xx 覆盖原有的内容 cat xx >> new_xx 追加
ps -ef|grep mysql|grep -v grep 查找进程 ps只是显示你执行那一时刻的状态
top 动态的查看进程,但是不能查找
kill -9 pid 杀进程 可以跟多个pid
nohup ./jmeter-server & 在后台运行某个程序
定时任务:
crontab -e 编辑定时任务
crontab -l 查看当前有哪些定时任务
crontab 文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。
cmd表示要运行的程序,*代表每分钟都执行
查看端口号: netstat -nlpt|grep 18983 查询这个进程号启动端口号是什么
netstat -nlpt|grep port #可以查看这个端口号有没有被占用
环境变量 -环境变量的作用就是让一个脚本/脚本在随便在哪个目录下都能用
系统环境变量:/etc/profile
用户环境变量:~/.bashrc export PATH=$PATH: source /etc/profile source ~/.bashrc
shell脚本-shell其实就是多个命令写在一起 ps -ef|grep jmeter|grep -v grep |awk ‘{print $2}‘
awk ‘{print $2}‘ #取第二列的数据 linux默认的shell解释器就是bash
软件安装: rpm -ivh xx.rpm rpm -e xxxxx rpm -qa|grep xxx#查询是否已经安装这个软件
yum: xx yum -y install xxx
源码安装: ./configure --prefix=/path#生成编译文件 make 编译 make install 把编译好的文件放到你指定的目录下
Rzsz命令安装:
使用yum安装,yum –y install lrzsz, 编译安装:http://blog.chinaunix.net/uid-20639775-id-154615.html
linux基础