Linux新手扫盲

一. Linux特点

1.免费/开源;

2.支持多线程/多用户;

3.安全性好;

4.对内存和文件管理优越。

Linux最小只需4M ——> 嵌入式开发

二. 文件目录

Linux系统所有软硬件都是以文件的形式存在,可以自由设置、挂载、卸载。了解Linux文件目录,是学习Linux的关键。

主要目录

/ :Linux文件系统的上层根目录,主目录。

/root :超级管理员的主目录,存放root用户相关文件。

/home :一般用户目录或FTP站点目录,存放普通用户文件。

/etc :存放系统配置相关文件。

/boot :存放Linux系统启动所需文件,相关引导文件。

/dev :系统设备文件,如:硬盘、打印机。

/mnt :装置文件系统的加(挂)载点。如:光驱、软盘等的挂载目录。

/proc :当前系统核心与程序执行的信息。(process,系统当前运行的进程信息。)

/usr :存放系统应用程序和相关文件,类似于win的Program Files。

/var :存放系统经常变动的文件,如日志文件、用户邮件。

/tmp :系统零时文件目录(如安装程序过程中产生的零时文件),每个用户都可以对他进行读写操作,一段时间不使用系统会自动删除该目录下的文件。

/bin :存放可执行命令的目录,系统任何用户均可执行该目录下的命令。

/sbin :存放系统启动时所需执行的命令的目录,该目录里的命令需要高级权限的用户才可使用。

swap :相当于windows的虚拟内存。

当前目录:pwd

相对路径:指从当前目录去访问某个文件(夹)

绝对路径:指从根目录(/)去访问某个文件(夹)

绿色  ---->代表可执行文件

红色  ---->代表压缩文件

深蓝色---->代表目录

浅蓝色---->代表链接文件

灰色  ---->代表其它的一些文件

三. Linux系统分区

Linux系统分区和windows一样,怎么分,分多大因人而异,基础分区如下:

/      根目录分区(一般大小为分完其他分区后硬盘剩余的总量)

/boot  系统启动、引导分区,大小随意( 最好200+ M)。

swap   相当于win的虚拟内存,大小为内存两倍,最好1024M以上。

分好区后,需要安装软、硬件可直接通过/mnt 挂载上去,不需要的时候再卸载。

(文件挂载先将其转换成ISO格式)

四. Linux网络环境的配置

修改IP的三种方法

第一种(在gui视图模式下配置):

  1. 用root身份登录,运行setup 命令进入到text mode setup utility 对网络进行配置,可对IP,子网掩码,网关,DNS设置。
  2. 此操作网卡配置并未生效,需重启网络才生效。

命令:/etc/rc.d/init.d/network restart

第二种(快速修改):

  1. ifconfig eth0 x.x.x.x //对网卡进行设置
  2. ifconfig eth0 network x.x.x.x //设置子网掩码

广播地址和dns使用默认的。

注:此操作网络配置会立即生效,但只是临时生效,系统重启会恢复到之前的。

第三种(修改最底层的网卡文件内容):

  1. 修改/etc/sysconfig/network-scripts/ifcfg-eth0 这个文件,可修改IP,子网掩码,网关,DNS,广播地址等。
  2. 此操作网卡配置并未生效,需重启网络才生效。

命令:/etc/rc.d/init.d/network restart

设置系统日期

  1. data:直接执行,显示系统当前时间。

data MMDDHHMMCCYY.SS

//修改系统时间,后面字母代表:月月日日时时分分年年年年.秒秒

  1. 查看日历(calendar)

查看月历:cal 5 2016   //查看2016年5月的月历

查看年历:cal 2016    //查看2016年的整年日历

用户的环境变量:/home/用户/.bash_profile

系统环境变量:/etc/profile

配置.bashrc 文件可以指定某些程序在用户登陆的时候自动启动:

对系统某个用户在:/home/用户/.bashrc

整个系统(所有用户):/etc/bashrc

Linux启动过程分析

  1. BIOS自检;
  2. 启动GRUB/LILO;
  3. 运行Linux内核并检测硬件;
  4. 运行系统的第一个进程init;
  5. init读取系统引导配置文件/etc/inittab中的信息进行初始化;
  6. /etc/rc.d/rc,sysinit系统初始化脚本;
  7. /etc/rc.d/rcX.d/[KS]* 根据运行级别X配置服务;

终止以K开头的服务,启动以S开头的服务(如下图init为5)

  1. /etc/rc.d/rc/local 执行本地配置;
  2. 其他特殊服务。

五. 用户管理

添加用户:useradd 用户名(useradd aaa)

设置/修改密码:passwd 用户名(passwd aaa)

添加用户组:groupadd 用户组名(groupadd root123)

将用户添加到某用户组:

useradd –g 用户组 用户(useradd –g root123 aaa)

修改用户属性(需root权限)

usermod –g 用户组 用户

usermod –d 目录 用户名   //改变用户登陆的初始目录

usermod -s shell类型 用户名

usermod -c 注释 用户名

usermod -u 用户编号 用户名

删除用户:userdel aaa (删除用户,但/home下用户主目录文件信息仍存在)

userdel –r aaa (彻底删除用户及用户所有文件信息)

查看系统中所有用户:

cat /etc/passwd

查看系统所有用户组:

cat /etc/group

默认情况下新建一个用户,就会生成一个以该用户名命名的用户组。

六. 进程/网络状态管理

进程:

  1. 在Linux中,每个执行的程序成为一个进程,每个进程都分配一个ID号(PID)。
  2. 每一个进程都会对应一个父进程,父进程可以复制多个子进程,如www服务器。
  3. 每个进程都可能一两种方式存在,前台与后台。
  4. 一般系统服务都是以后台进程的方式存在,而且常驻系统中,直到关机才结束。

进程与线程:

进程:正在执行的程序。

线程:1. 轻量级的进程;

  1. 进程有独立的地址空间,线程没有;
  2. 线程不能独立存在,它是由进程创建的;
  3. 线程耗费的cpu和内存小于进程。

查看进程:1. ps –aux (当前运行进程,静态)

  1. top (动态监控进程)

终止进程:

kill 进程号( PID )

eg:kill 16251     //终止进程号为16251的进程

kill -9 16251   //某些进程不能被杀,使用 -9 参数强制终止进程

显示网络状态命令:netstat

此命令用来显示整个系统目前的网络情况。如连接、数据包、路由表内容。

netstat –an 显示所有端口和连接信息(包括远程链接到本机的ip)

netstat –anp 与上面想比,多显示进程号(PID),推荐使用此命令

显示数据包经过历程命令:traceroute

此命令用来检测数据包在网络上传输的过程,可显示本机到目标主机所经历路由的完整路径。

traceroute + 参数 + 目标IP或网址   //参数可忽略,相当于win下的tracert。

eg:traceroute www.baidu.com

route –n 显示本机网关、路由情况。

linux上进程有5种状态:
1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process

七. 文件管理

文件所有者:

文件是哪个用户创建的,它的所有者就是该用户。

ls –ahl   查看文件所有者

// a代表显示所有,包括隐藏文件;h代表输出文件大小;l代表用长列表显示,显示更详细内容。

修改文件所有者:chown 用户名 文件名

修改文件夹所有者:chown –r 用户名 文件夹目录   //Linux中-r 为递归的意思。

文件所在组:

文件是哪个用户创建的,它的所在组就是该用户所在组。

ls –ahl   查看文件所在组(如上)

修改文件所在组:chgrp 组名 文件名

文件和目录权限:

rwx = 421   //读写执行

chmod 777 aaa   //赋予文件aaa最高权限

文件赋权执行上面格式即可,下面做详细诠释。

chmod u=rwx,g=rx,o=rx aaa

//相当于chmod 755 aaa;u代表user;g代表group;o代表other

chmod u-x,g+w aaa   //给aaa去除用户执行权限,增加用户组写的权限

八. 常用命令

Linux运行级别   init [0123456]

运行级别 0:关机           //shutdown –h now也可立即关机

1:单用户

2:多用户状态没有网络服务

4:系统未使用保留给用户

5:图形界面

6:系统重启       //reboot

常用运行级别是3和5,修改系统启动默认的运行级别:

/etc/inittab文件中的id:5:initdefault中的数字。

查看用户当前运行级别命令:runlevel 或 who -r

若不慎将默认运行级别设置为6,系统将不断重启。

解决:在启动界面按e,进入第二个界面选中第二行按e,然后输入1(以单用户启动,且进入不需要密码,也可用于忘记密码时进入然后重设密码),进入init 1级别用命令改回文件的默认运行级别。

Linux常用命令

有问题用man命令(manual指南,相当于dos下的help)

eg :#man grep(后直接接命令)

ls:查看文件目录,等于dir

ls –l 用长列表显示,显示更详细内容;

ls –a 显示隐藏文件;

ls –h 显示文件大小。

重定向命令:

ls –l > a.txt 将显示的内容写入a.txt(覆盖原内容)

ls –al > aa.txt 将现实的内容追加到文件aa.txt的末尾(不覆盖原内容)

lsb_release -a   //查看版本信息

uname -a   //可显示电脑以及操作系统的相关信息。

cat /proc/version   //说明正在运行的内核版本。

cat /etc/issue   // 显示的是发行版本信息

touch:创建空文件

mkdir:创建文件夹

vi:编辑文件,当文件不存在时可创建文件

cat:查看文件内容

cp:复制命令

cp –r aaa bbb (递归复制,将aaa文件及子文件复制到bbb)

mv:移动文件或重命名

rm:删除文件

rm –rf * 删除文件夹所有内容(包括目录及子文件)

r 递归   f 强制

ln:建立符号链接,相当于建立快捷方式link。

ln –s 源文件路径 目标文件路径

eg:ln –s /root/abc3.java toabc3

//建立后显示如下(文件属性前会多个l,代表ln命令建立的)

more:分页显示文件内容,按空格查看下一页,不可查看上一页内容

less:分页显示文件内容,空格查看下一页内容,上下键也可查看上/下一页内容

grep:显示文本中查找的内容(grep只显示查找的内容,cat显示文本所以内容)

grep –n 显示内容所在行数

|:管道命令,把上一个命令的结果交给 | 后面的命令处理。(一条命令可有多个管道命令)

find:文件查找

find 文件路径 –name 文件名

eg:find / -name aaa.txt 全目录查找aaa.txt (路径越详细查找越快)

★ 搜索一段时间内被存取/变更的文件或目录:

find /hoem –amin -10    //查找十分钟内存取的文件或目录

find /hoem –atime -10   //查找十小时内存取的文件或目录

find /hoem –cmin -10    //查找十分钟内更改过的文件或目录

find /hoem –ctime +10   //查找十小时前更改过的文件或目录

find /hoem –size +10k    //查找/home目录下大于10k的文件

a:access 存取   c:change 更改

该查找多用于安全方面,查看黑客在一段时间内动过的系统文件。

pwd:查看当前路径

whereis:查找目标文件的路径

whereis ssh   //查看ssh的路径

压缩与解压缩

zip(压缩)和unzip(解压缩)

zip(压缩):

  1. zip a.zip aaa //zip后直接接压缩后的文件名,将aaa压缩成a.zip
  2. zip –m a.zip aaa //压缩后删除原文件,将aaa压缩成a.zip并删除aaa
  3. zip –r a.zip aaa //将子目录一起压缩,文件夹aaa及其子目录一起压缩为a.zip(常用)
  4. zip -9 a.zip aaa //-9为压缩率(-1 — -9,-9压缩率最高)

压缩当前文件夹,两种方法:

(1)zip –r 111.zip .  //.代表当前文件夹

(2)zip –r 111.zip 文件夹路径/*(eg:zip –r 111.zip /home/*)

unzip(解压缩):

  1. unzip a.zip //解压缩文件a.zip
  2. unzip a.zip –x bbb //不解压某文件,a.zip中除了bbb其他都解压
  3. unzip –z a.zip //查看压缩包内容,也可用“-l”、“-v”查看

将压缩文件解压扫某处:unzip *.zip –d /目录 (如果该目录下没某文件会自动创建)

gzip(压缩)和gunzip(解压):

  1. gzip a.gz aaa //压缩
  2. gzip –d a.gz //解压缩

3.gunzip a.gz     //解压缩

tar.gz解压:tar -zxvf aaa.tar.gz

corntab用于设置周期性被执行的指令,可用于任务调度。

终止任务调度:

conrtab –r :终止任务调度

conrtab –l :列出当前有哪些任务调度

其他常用命令:

http://www.oschina.net/translate/useful-linux-commands-for-newbies

http://www.tecmint.com/20-advanced-commands-for-middle-level-linux-users/

九. Shell

shell,壳,是指“提供使用者使用界面”的软件,将命令解析成机器语言。从作用上说,类似于cmd,接受用户命令然后调用相应应用;从功能上说又类似于bat批处理,可将程序编写成shell执行。

shell的分类:

shell名称     开发者     命令名称

Bourne     S.R. Bourne    /bin/sh

C          Bill Joy        /bin/csh

Kom        David        /bin/ksh

Shell的修改:chsh –s 输入新的shell   //eg:chsh –s /bin/csh

不同shell的命令稍有差别

用户登陆后自动执行的shell脚本文件:

.bashrc 位于用户主目录下,它之前执行系统的脚本/etc/bashrc,主要是配置基础数据

.bash_profile位于用户主目录下,它之前执行系统脚本/etc/profile,主要是配置环境变量

alias(别名),可简化常用命令的输入,shell程序用经常使用

命令:alias 自定义命名=’想要替换的命令’

eg:alias cp=’cp -i’

alias ll=’ls –l –color=tty’

十. 软件的安装

RPM管理

rpm,RPM Package Manager(RPM软件包管理器)的缩写,一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.rpm扩展名的文件,与dpkg类似。这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

如何查询linux中安装了哪些rpm软件:

rpm –q   //查看有没有安装mysql

rpm –qa  //查看所有rpm软件

rpm常用命令:

安装rpm包:

rpm –ivh *.rpm   // i=install安装;v=verbose提示;h=hash进度条

卸载rpm包:

rpm –e *.rpm

//如果其他软件包依赖于当前要卸载的包,会产生错误告警

rpm –e –nodeps *.rpm

//该命令用于强制卸载当前rpm包,但依赖于此包的软件可能无法运行

升级rpm包:

rpm –U *.rpm

文件共享:

1.Samba服务器安装:Linux下开发人员好像喜欢装这个。

安装传送门

2.FTP服务器安装:大多数Linux机器都是用的这个。

安装传送门

3.SCP命令:

scp [OPTIONS] file_source file_target
eg:scp ntp-4.2.8p7-0.10591.1.PTF.959243.x86_64.rpm [email protected]:/home/boco4a

OPTIONS:
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接、认证、 或是配置错误
-C 使能压缩选项
-P 选择端口 . 注意 -p 已经被 rcp 使用

4.方便快捷的文件传输软件:sshClient

另外putty、xshell、secureCRT也可用于管理主机,但文件传输基于FTP或rz、sz命令。

Mysql数据库的安装

Mysql数据库由于免费、跨平台、轻、支持多并发,一直是中小型企业数据库的首选。

安装:

  1. 把安装文件拷贝到 /home 下
  2. 解压mysql文件.tar.gz 命令:tar –zxvf
  3. groupadd mysql //创建用户组

useradd –g mysql mysql     //创建mysql用户,并放入到mysql组

进入/home下的mysql文件夹

sripts/mysql_install_db –user=mysql   //初始化数据库

chown root .                      //修改文件所有者(.代表当前文件目录)

chown –R mysql data

//修改data文件夹所有者(R参数代表递归,表示当前文件夹下所有文件/文件夹)

chgrp –R mysql .                   //改变用户组

启动mysql

bin/mysqld_safe –user=mysql &      // & 代表以后台方式启动

查看端口3306是否起来:netstat –anp | more

进入mysql:

cd bin

./mysql –uroot –p123

//登录mysql(此种方式只能在/home/mysql/bin下启动mysql)

如果想在任何目录都可以启动mysql,修改环境变量里面的路径PATH:

env   //可以看到PATH路径

在root用户目录下 ls –al | more 找到 .bash_profile

(此文件存放用户变量,系统变量在/etc目录下)

vi .bash_profile在PATH路径后面加上mysql路径

注销/重启电脑,然后任意路径都能使用mysql –uroot –p123    进入mysql

(注:只能在此用户任意目录,其他用户照样修改。如要所有用户都可以,那就需要改系统变量,在/etc/profile下也存在该文件)

数据库备份与恢复

备份操作在mysql下的bin目录下,非在数据库中。

恢复的时候要先在数据库中新建个空数据库。

可以利用任务调度crontab,写个shell脚本将数据库自动备份。

时间: 2024-08-06 20:07:06

Linux新手扫盲的相关文章

Linux新手扫盲(转载)

一. Linux特点 1.免费/开源: 2.支持多线程/多用户: 3.安全性好: 4.对内存和文件管理优越. Linux最小只需4M ——> 嵌入式开发 二. 文件目录 Linux系统所有软硬件都是以文件的形式存在,可以自由设置.挂载.卸载.了解Linux文件目录,是学习Linux的关键. 主要目录 / :Linux文件系统的上层根目录,主目录. /root :超级管理员的主目录,存放root用户相关文件. /home :一般用户目录或FTP站点目录,存放普通用户文件. /etc :存放系统配置

Linux新手大礼包

欢迎加入Linux的大家庭!对你来说,这可能还是一个陌生的领域,不过相信随着逐步深入的了解,你会喜欢上Linux,喜欢上开源的!首先,让我们来看一下,Linux新手应该注意和了解哪些事情吧! 1. 认识几个大牛 Linus Torvalds 生于1969年12月28日的芬兰赫尔辛基市,拥有美国国籍.他是Linux内核的最早作者,随后发起了这个开源项目,担任Linux内核的首席架构师与项目协调者,是当今世界最著名的电脑程序员.黑客之一.他还发起了Git这个开源项目,并为主要的开发者. Richar

Linux新手入门:通过chmod改变文件权限--转

前面介绍过在Linux中如何查看文件的属性,在Linux文件权限详解中我们介绍了Linux文件的三种身份和四种权限,三种身份分别为: u:文件的拥有者 g:文件所属的群组 o:其他用户 对于每个身份,又有四种权限,分别为: r:读取文件的权限(read) w:写入文件的权限(write) x:执行的权限(execute) s:特殊权限 在Linux文件权限详解中我们知道Linux中有两种表示文件权限的方式,分别为数字以及符号表示方式. chmod以数字形式改变文件权限 chmod 755 tes

Linux 新手的学习笔记

1.ln命令 例: /bin/ln -snf /var/www/html/test /var/www/test 2.cp命令 例: cp -r 地址1 地址2 3.rm命令 例: rm -rf 地址 4.vi命令 5.chkconfig命令 例: chkconfig httpd on  (开机自启动httpd服务) 6./etc/inittab 在这里修改是否默认进入图形界面,3为命令行,5为图形界面 7./etc/sysconfig/network-scripts/ 在这里修改网络相关的内容

[基础知识]Linux新手系列之三

给Linux新手 [系列之三] Linux相关资料由兄弟连分享 OK,从哪里得到Linux呢?为了讨论方便,省去不表要的枝节问题,我只讨论光盘安装.所以第一步是得到一张RedHat 6.2的光盘.得到光盘有两种方式,一种是去买光盘,这个比较简单,外面盗版盘就有,不过需要指出的是,RedHat 6.2的光盘不可能是盗-版盘,因为RedHat 6.2遵循GPL协议,它是不收取版权费用的.所以任何人拷贝安装光盘都是合法的.所以不必为买到一张"RedHat 6.2的盗版盘"而沾沾自喜或有了偷盗

Linux 新手非常有用的命令

http://www.cnblogs.com/felix-/p/4341773.html Linux 新手非常有用的命令 你打算从Windows换到Linux上来,还是你刚好换到Linux上来?哎哟!!!我说什么呢,是什么原因你就出现我的世界里了. 从我以往的经验来说,当我刚使用Linux,命令,终端啊什么的,吓了我一跳.我担心该记住多少命令,来帮助我完成所有任务. 毫无疑问,在线文档,书籍,man pages以及社区帮了我一个大忙,但是我还是坚信有那么一篇文章记录了如何简单学习和理解命令的秘籍

每个Linux新手都应该记住的10个基本Linux命令

Linux对我们的生活有着很大的影响.至少,你的安卓手机上面就有Linux内核.然而,头一次入手Linux只会让你觉得不适.因为在Linux上,你通常应该使用终端命令,而不是只要点击启动器图像(就像你在Windows上操作那样).不过别担心,下面介绍的这10个基本的Linux命令和重要命令会帮助你尽快入门. 我们在谈论Linux命令时,其实是在谈论Linux系统本身.就这么区区10个基本的Linux命令不会让你成为天才或Linux专家.它会帮助Linux新手使用这些Linux基本命令或者说Lin

对Linux新手非常有用的20个命令

 //对Linux新手非常有用的20个命令 //slwang  2014.4.19 1, ls list directory contents 列出文件夹中内容 ls -l     //以详情模式(long listing fashion)列出文件夹的内容 d:代表目录 rwxr-xr-x:文件或者目录对所属用户,同一组用户和其他用户的权限 ls -a     //列出包括隐藏文件在内的所有文件 2, lsblk 列出块设备,除了RAM外,以标准的树状输出格式,整齐地显示块设备 lsblk

对Linux新手有用的20个命令 | 快课网

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;