Linux简单学习

linux的特点

Linux里面一切皆是文件
Linux里面没有后缀名这一说

 linux目录结构

/bin:是Binary的缩写,这个目录存放着系统必备执行命令
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里
/dev:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:所有的系统管理所需要的配置文件和子目录。
/home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/misc: 该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/net  存放着和网络相关的一些文件.
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙
/srv:service缩写,该目录存放一些服务启动之后需要提取的数据。
/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
/tmp:这个目录是用来存放一些临时文件的。
/usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

VIM编辑器

1)yy        (功能描述:复制光标当前一行)
2)p        (功能描述:箭头移动到目的行粘贴粘在光标所在行的下一行)
3)u        (功能描述:撤销上一步)
4)dd        (功能描述:删除光标当前行)
5)shift+^    (功能描述:移动到行头)
6)shift+$    (功能描述:移动到行尾)
71+shift+g        (功能描述:移动到页头,数字,先按1,再同)
8)shift+g            (功能描述:移动到页尾)
9)数字N+shift+g    (功能描述:移动到目标行)
10)x 删除一个字母
11)r  修改一个字母
Shift + z+ z 快速保存

网络相关

查看ip
ifconfig
修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
重启网络服务
service network restart
主机名修改
vi /etc/sysconfig/network
映射
/etc/hosts
window7的主机映射文件
C:WindowsSystem32driversetc
防火墙
chkconfig iptables off    (功能描述:关闭防火墙开机启动)
chkconfig iptables on    (功能描述:开启防火墙开机启动)
service iptables status    (功能描述:查看防火墙状态)
service iptables stop    (功能描述:临时关闭防火墙)

文件目录类

pwd 显示当前工作目录的绝对路径
ls 列出目录的内容 ll命令
mkdir [
-p] 要创建的目录
touch test.java

cd (
1)cd 绝对路径 (2)cd 相对路径 (3)cd ~或者cd (功能描述:回到自己的家目录) (4)cd - (功能描述:回到上一次所在目录) (5)cd .. (功能描述:回到当前目录的上一级目录) (6)cd . (功能描述:回到当前目录)
cp
-r sourceFolder targetFolder (功能描述:递归复制整个文件夹)
rm
-rf deleteFile (功能描述:递归删除目录中所有内容) (1)mv oldNameFile newNameFile (功能描述:重命名) (2)mv /temp/movefile /targetFolder (功能描述:递归移动文
cat 查看文件内容 cat
/etc/redhat-release
more 查看文件内容 查看文件内容,一页一页的显示文件内容。
tail 查看文件内容
1)tail -n 10 文件 (功能描述:查看文件头(从末尾开始数)
重定向 (1)ls -l >a.txt文件 (功能描述:列表的内容写入文件a.txt中(覆盖写)) (2)ls -al >>a.txt文件 (功能描述:列表的内容追加到文件aa.txt的末尾)

echo echo $JAVA_HOME
history
!111
date "+%Y-%m-%d %H:%M:%S" date设置系统时间 cal查看日历

scp 远程复制

file 文件类型

用户管理命令

useradd 用户名        (功能描述:添加新用户)
passwd 设置用户密码
id 判断用户是否存在
su 切换用户
userdel 删除用户
userdel -r hadoop
who 查看登录用户信息 cat /etc/passwd 查看创建了哪些用户 usermod修改用户 usermod -g mygroup hadoop groupadd 新增组 groupdel删除组 groupmod修改组 groupmod -n hadoop1 hadoop
cat /etc/group 查看创建了哪些组

文件权限

chmod改变权限
[root@hadoop003 test1]# chmod u+x test1.java
[root@hadoop003 test1]# chmod g+x test1.java
[root@hadoop003 test1]# chmod o+x test1.java
[root@hadoop003 test1]# chmod 777 test1.java
[root@hadoop003 test1]# chmod -R 777 testdir

chown改变所有者
[root@hadoop003 test1]# chown hadoop test1.java

chgrp改变所属组
[root@hadoop003 test1]# chgrp hadoop test1.java

磁盘分区

fdisk查看分区
fdisk -l            (功能描述:查看磁盘分区详情)
注意:在root用户下才能使用

df查看硬盘
[root@hadoop003 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        15G  3.5G   11G  26% /
tmpfs           939M  224K  939M   1% /dev/shm
/dev/sda1       190M   39M  142M  22% /boot

du -sh /usr/share/*   
文件夹下所有文件大小

find 查找文件或者目录
[root@hadoop003 ~]# find /opt/ -name *.txt

grep 过滤查找及“|”管道符
[root@hadoop003 opt]# ls | grep -n test

which 文件搜索命令
[root@hadoop003 opt]# which ls
/bin/ls

进程线程

ps查看系统中所有进程
ps -ef

top查看系统健康状态
P:        以CPU使用率排序,默认就是此项 
M:        以内存的使用率排序 

pstree查看进程树
选项
  -p:  显示进程的PID 
  -u:  显示进程的所属用户

kill终止进程
kill -9 pid进程号

netstat显示网络统计信息
netstat -anp        (功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容)
[root@hadoop003 hadoop-2.7.2]# netstat -anp | grep 22

压缩和解压类

tar打包案例
(1)压缩:tar -zcvf  XXX.tar.gz   n1.txt    n2.txt
    压缩多个文件
[root@hadoop003 opt]# tar -zcvf test.tar.gz test1.java test.java 
test1.java
test.java
[root@hadoop003 opt]# ls
test1.java  test.java  test.tar.gz 
压缩目录
[root@hadoop003 opt]# tar -zcvf test.java.tar.gz test1
test1/
test1/hello
test1/test1.java
test1/test/
test1/test/test.java
[root@hadoop106 opt]# ls
test1 test.java.tar.gz 
解压:tar -zxvf  XXX.tar.gz,如果有重名,则直接覆盖。
    解压到当前目录
[root@hadoop003 opt]# tar -zxvf test.tar.gz
解压到/opt目录
[root@hadoop003 opt]# tar -zxvf test.tar.gz -C /opt 

后台服务管理类

service后台服务管理
1)service network status   查看指定服务的状态
2)service network stop    停止指定服务
3)service network start    启动指定服务
4)service network restart   重启指定服务
5)service --status-all      查看系统中所有的后台服务
chkconfig设置后台服务的自启配置 1)chkconfig 查看所有服务器自启配置 2)chkconfig iptables off 关掉指定服务的自动启动 3)chkconfig iptables on 开启指定服务的自动启动
crond系统定时任务 crontab定时任务设置
crontab [选项] 选项: -e: 编辑crontab定时任务 -l: 查询crontab任务 -r: 删除当前用户所有的crontab任务 2)参数说明 [root@hadoop003 ~]# crontab -e (1)进入crontab编辑界面。会打开vim编辑你的工作。 * * * * * 执行的任务 项目 含义 范围 第一个“*” 一小时当中的第几分钟 0-59 第二个“*” 一天当中的第几小时 0-23 第三个“*” 一个月当中的第几天 1-31 第四个“*” 一年当中的第几月 1-12 第五个“*” 一周当中的星期几 0-7(0和7都代表星期日) (2)特殊符号 特殊符号 含义 * 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 , 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 - 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令 */n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 (3)特定时间执行命令 时间 含义 45 22 * * * 命令 在22点45分执行命令 0 17 * * 1 命令 每周1 的17点0分执行命令 0 5 1,15 * * 命令 每月1号和15号的凌晨5点0分执行命令 40 4 * * 1-5 命令 每周一到周五的凌晨4点40分执行命令 */10 4 * * * 命令 每天的凌晨4点,每隔10分钟执行一次命令 0 0 1,15 * 1 命令 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。 3)案例: */1 * * * * /bin/echo `date` >> /tmp/test

env
  查看环境变量

RPM和YUM

rpm -ivh package     # 直接安装
rpm -qa   #所有安装的包
rpm -ql tree  查询
rpm -e tree  删除
RPM -q tree 查询

yum相关
yum install -y xxxx
yum remove -y xxxx
yum update -y xxxx

配置yum源
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

面试题

建立软链接(快捷方式),以及硬链接的命令。
答案:
软链接: ln -s slink source
硬链接: ln link source

终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?
答案:
终端  /dev/tty


黑洞文件  /dev/null


用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)
答案:


wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数。

Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

ps -aux

D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核 2.6 开始无效)
X 死掉的进程


使用什么命令查看网络是否连通?
答案:
netstat

查看各类环境变量用什么命令?


答案:


查看所有 env
查看某个,如 home: env $HOME

问题四十:

你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?

答案:

使用linux命令 ’disown -r ’可以将所有正在运行的进程移除

bash shell 的内置命令let 可以进行整型数的数学运算。

#! /bin/bash


let c=a+b

 
我凝视这恒星,等待这那场风暴,我已经准备好了
原文地址:https://www.cnblogs.com/cheng5350/p/11727576.html