初次接触Linux就是感觉这系统不够友好不够人性化,因为首先接触电脑就是win,图形化界面什么操作都可以清晰看到。随着更多的接触越来越发现Linux的强大,虽然我只是一个小白,可我就是爱上他了。现在就把上课学的一些命令记录一下,以备以后不时之需。

  

用户管理
id:可以查看当前用户
whoami:查看当前的用户
who:看当前已经登录的用户
w:也也可以看
添加用户 :
useradd zhaoyuanyuan 添加用户
useradd -g groupname uername 添加用户组
passwd zhaoyuanyuan 添加密码
给添加的用户加密码、还可以重置密码

用户默认的家目录就是在/home/目录下
~ 波浪线代表家目录:
快速回到家目录:
cd ~
直接cd
切换用户:
su username
su - username
区别就是su - 会重新加载用户的环境变量
sudo 获取超级用户权限的
添加普通用户sudo的权限
/etc/sudoers文件
找到 root ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD:ALL
删除用户:
userdel username
userdel -r xw 删除用户的时候也删除它的家目录

对目录(文件夹)的操作
pwd 显示当前你所在路径
cd 进入哪个目录(文件夹)
创建文件夹
mkdir
mkdir -p /tmp/besttest/blk #即使文件夹存在也不报错
删除文件夹

rm -rf / #强制删除一切
rmdir:只能删除空文件夹
查看目录、文件下面的东西:
ls -l == ll #可以查看文件查看权限
ll -a       #可以查看隐藏文件

新建文件

touch file

新建隐藏文件

touch .file

改名、移动
mv besttest linux #改名
mv besttest /tmp  #移动
mv如果后面跟的是文件名改名,如果后面跟的是路径是移动
复制
cp file /tmp/ 复制文件
cp -r linux /tmp/ 复制文件夹
cp -rf linux  #强制复制粘贴,即使文件已存在,也不需要询问是否覆盖

命令改名:

alias wgy='cd /opt/lampp'
永久生效的话,加到/etc/profile这个里面

vi /etc/profile

/顶级目录,相当于Windows的我的电脑
相对路径:相当于当前路径
绝对路径:实际的路径
cd ..    #回到上一级目录
cd ../../#回到上两级目录
cd -     #返回上一次所在的目录
加权限:

所有者的权限 同一组的权限 其他用户的权限
rw- r-- r--
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 /G
x    删除单个字符
dd   删除整行
19dd 删除19行
u    撤销
yy   复制一整行
19yy 复制19行
p    粘贴
.    重复前一次操作
$    移动光标到行尾
0    移动光标到行首
替换字符串:
":%s/src_str/new_str/g"

查看文件

cat
more
less
tail -f  access_log #动态查看日志文件,默认后十行

创建连接

ln /opt/lampp/xampp ~/wxy #硬连接

ln /opt/lampp/xampp ~/wxy #软连接

find / -name mysql #查找文件/文件夹
grep xxx file 查找文件
grep -v 过滤掉指定的关键字
tail -f /opt/lampp/logs/access_log |grep wgy #查找日志文件含有wgy的文件

统计文件行数

wc -l

du -sh *       #可以看到当前目录下所有文件的占用空间
du -sh dirname #查看dirname所占空间
df -h          #可以看到当前磁盘已经使用了多少

安装软件
上传、下载:
ftp工具:直接拖拽、什么都可以上传,要sftp协议
rz、sz命令可以直接上传下载,但是它不能上传文件夹

开关机、重启
关机
shutdown -h 30  #定时关机
shutdown -h now #立即关机
init 0          #立即
reboot          #重启
shutdown -r 20 "我要重启啦" 定时重启#定时关机,提示消息
注销
exit
网络

查看ip

ip a
ifconfig a
dhclient   #自动获取ip

压缩、解压文件
tar -cvf linux.tar linux               #直接打包,前面是包的名字,后面是你要给谁打包
tar -zcvf linux.tgz/linux.tar.gz linux # 压缩
tar -zxvf linux.tar linux              #解压,不管你压缩没压缩都能解开
zip linuz.zip linux                    #打zip包
unzip linuz.zip
gzip file                              #只能对文件打包,打包完原来的文件就没有了
gunizp file.gz

环境变量
列出环境变量:
env
环境变量的作用:
让一个脚本在随便哪个目录下都能执行
系统环境变量 :/etc/profile
用户环境变量 :~/.bashrc
执行环境变量 :

export PATH=$PATH:

source /etc/profile

source ~/.bashrc
重定向
cat xx > new_xx                         #覆盖原来的内容
cat xx >>new_xx                         #追加内容
清空文件

> new_xx                                #把0覆盖文件,也就是清空文件

ps 查看进程
ps -ef |grep mysql                                              #查找进程
ps -ef |grep -v "grep"                                          #过滤掉含有grep的进程
ps -ef |grep -v "grep"|awk '{print $2}'|xargs kill -9#kill 全部进程

kill -9 pid                                                     #kill 进程                                                
ps                                 #只显示你执行那一时刻的状态
top                                #动态查看进程,但是不查找
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 port         #查看端口号有没有占用
netstat -nlpt |grep 18993        #查看这个进程号启动端口是多少

软件安装与卸载
rpm安装
rpm -ivh xxx.rpm                     #自动配置环境变量
rpm卸载
rpm -e   xxx.rpm

rpm查询
rpm -qa |grep mysql                  #查询是否已经安装这个软件
yum安装
yum -y install httpd
查询
yum list |grep httpd                 #yum列表查询需要的软件
yum list installed |grep mysql       #查询已下载软件
卸载yum
yum remove mysql
源码安装
./configure  --prefix=/path#生成编译文件
make                              # 编译
makefile                          #把编译好的文件放到指定的目录下

shell脚本
shell脚本其实就是多个命令写在一起,然后加上判断
ps -ef|grep jmeter|grep -v grep |awk '{print $2}'

awk '{print $2}' #取第二列的数据

shell脚本实例

#!/usr/bin/bash

count=`ps -ef|grep jmeter|grep -v grep |awk '{print $2}'|wc -l`
if [ $count -gt 0 ]
then
echo "jmeter-server is running...o"
else
nohup /root/apache-jmeter-2.11/bin/jmeter-server &
fi

Linux上课笔记--随手记Linux命令的更多相关文章

  1. linux学习笔记2-linux的常用命令

    第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...

  2. Linux 学习笔记02丨Linux 概述、常用快捷键、apt命令

    Chapter 1. Linux 概述 Linux 是一种自由和开放源码的 Unix 操作系统, 是一个基于 POSIX 和 UNIX 的多用户.多任务.支持多线程和多CPU的操作系统.只要遵循 GN ...

  3. linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装

    1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...

  4. Linux学习笔记之查看Linux版本信息

    0x00 概述 这里所谓的Linux版本信息,包括Linux内核版本信息和Linux系统版本信息. 0x01 查看Linux内核版本信息 方法1:登陆Linux,在终端输入 cat /proc/ver ...

  5. Linux学习笔记之(1)~Linux有趣的历史概览

    献给知道mono,了解Jexus,对.net混搭技术感兴趣的朋友. 1965年,Bell.MIT和GE公司发起Multics计划,目标是实现一个操作系统可以让大型主机实现连接三百个终端的目标.(那个时 ...

  6. linux学习笔记---一些有趣的命令

    一 在说链接之前我们哈需要说明一个东西,就是inode,一个文件的名字可以有多个,但是inode里的i-number却只有一个,(inode是一个数据结构,里面存放文件的各种属性,属主,属组,权限,大 ...

  7. Linux学习笔记:使用ftp命令上传和下载文件

    Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹.虽然现在有很多ftp桌面应用(例如:FlashFXP),但是在服务器.SSH.远程会话中掌握命令行ftp的使用 ...

  8. Linux学习笔记:输入输出重定向 >>命令

    Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变.比如说我不想看到在显示器的输出,而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作. 将stdout重定 ...

  9. Linux学习笔记:vi常用命令

    在Linux系统中常用vi命令进行文本编辑. vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved), ...

随机推荐

  1. 在SQL2008查找某数据库中的列是否存在某个值

    在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...

  2. 自定义Inspector检视面板

    Unity中的Inspector面板可以显示的属性包括以下两类:(1)C#以及Unity提供的基础类型:(2)自定义类型,并使用[System.Serializable]关键字序列化,比如: [Sys ...

  3. 前端学HTTP之Web主机托管

    前面的话 对内容资源的存储.协调以及管理的职责统称为Web主机托管.主机托管是Web服务器的主要功能之一.保存并提供内容,记录对内容的访问以及管理内容都离不开服务器.如果不想自行管理服务器所需的软硬件 ...

  4. CRL快速开发框架系列教程十一(大数据分库分表解决方案)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  5. 阿里云服务器上配置并使用: PHP + Redis + Mysql 从配置到使用

    (原创出处为本博客,http://www.cnblogs.com/linguanh/) 目录: 一,下载 二,解压 三,配置与启动 四,测试 Redis 五,配置 phpRedis 扩展 六,综合测试 ...

  6. css居中div的几种常用方法

    在开发过程中,很多需求需要我们居中一个div,比如html文档流当中的一块div,比如弹出层内容部分这种脱离了文档流等.不同的情况有不同的居中方式,接下来就分享下一下几种常用的居中方式. 1.text ...

  7. C#~异步编程再续~await与async引起的w3wp.exe崩溃-问题友好的解决

    返回目录 关于死锁的原因 理解该死锁的原因在于理解await 处理contexts的方式,默认的,当一个未完成的Task 被await的时候,当前的上下文将在该Task完成的时候重新获得并继续执行剩余 ...

  8. JAVA构造时成员初始化的陷阱

    让我们先来看两个类:Base和Derived类.注意其中的whenAmISet成员变量,和方法preProcess(). 情景1:(子类无构造方法) class Base { Base() { pre ...

  9. Android Socket连接PC出错问题及解决

    最近测试问题:Android 通过Socket链接电脑,ip和端口都是正确的,也在同一网段,可android端就是报异常如下: 解决办法:测试电脑的防火墙可能开着,在控制面板把防火墙打开即可.

  10. SQLServer 各版本区别

    SQLServer 2012 新特性 通过AlwaysOn实现各种高可用级别 通过列存储索引技术实现超快速的查询,其中星型链接查询及相似查询的性能提升幅度可高达100倍,同时支持超快速的全文查询 通过 ...