LINUX基础篇
1,LS
ls -a查找所有文件(包含隐藏)
ls -l以详细信息显示
ls -a -l
man查找命令
2,CD
cd ..上一级目录
cd .当前目录
cd ../../上上层目录
3,PWD
pwd打印出当前的绝对路径
4,MKDIR
mkdir创建文件夹
mkdir -p级联创建文件夹
5,mv
移动移动/隐藏
mv源文件目的文件
6,touch
touch源文件创建新文件
7,cp
cp源文件复制源文件
cp -r 用来复制文件夹
cp -f 强制复制
cp -rf 强制复制文件夹
8,rm
rm文件 用来删除文件夹
rm -rf 文件夹强制递归删除文件夹
9,cat
cat直接在命令行下显示文件内容 cat filename
cat也可以用来向文件输入 cat > filename 覆盖输入 cat >> filename 不覆盖输入
10,命令rmdir
rmdir删除空文件夹
11,link连接文件(软连接与硬连接)
基础:窗口中快捷方式,实际上快捷方式和它指向的文件是独立的两个文件,两个都占硬盘空间,只不过用户访问快捷方式时,其效果等同于访问指向的文件。
创建软连接(源重要)ln -s源文件快捷方式
创建硬连接(相当于复制一次)ln源文件名连接文件名
(硬连接实际上和源文件在硬盘中实际是同一个东西只有系统上所有的文件都被删除后才会真正没有)
12,apt-get的
在Ubuntu的中用来在线安装,卸载软件的程序
apt-get install vim
apt-get remove vim
相当于一键安装...
13、grep 抓取
grep -n "something"显示行号
grep -i “somethings”表示忽略大小写,i表示ignore,忽略的意思
grep -v “something”表示不包含something的字段 上面的-v表示invert match,不匹配的意思。
grep for for.sh 把文件中包含for的语句抓出来
grep -v for for.sh 把文件中不包含for的语句抓出来
14、netstat
network status网络状态的意思
netstat -a -a表示按照各个协议,分别统计连接数。
netstat -at | less, t表示TCP
netstat -au | less 这里u表示UDP
netstat -l | less 这里l表示lisentening,表示监听连接
netstat -s | less 这里s表示static的意思
netstat -st | less 表示TCP查询
netstat -su | less 表示UDP的查询
netstat -p | less 这里p表示PID
15.统计现在登录到系统上的账户总数
who | wc -l
who命令可以查看登录到系统上的账户。wc命名是Linux系统里面的统计程序,可以计算出行数(-l)、字数(-w)、字符数(-c)。此例中是统计行数。
16.字符转换工具tr
tr命名是进行字符转换的工具,是translate的简写。以字符为操作对象。比如删除字符、将小写字符转换成大写字符,将多个连串的重复字符浓缩成1个字符等。
删除:echo 1234444444567 | tr -d 4 #输出123567
去重:echo 1234444444567 | tr -s 4 #输出1234567
替换:echo 1234444444567 | tr 4 '*' #输出123*******567
翻转替换:echo 1234444444567 | tr -c 4 '*' #输出***4444444****
17.diff比较两个文件不同
# diff log2014.log log2013.log
3c3
< 2014-03
---
> 2013-03
8c8
< 2013-07
---
> 2013-08
11,12d10
< 2013-11
< 2013-12
上面的"3c3"和"8c8"表示log2014.log和log2013log文件在3行和第8行内容有所不同;"11,12d10"表示第一个文件比第二个文件多了第11和12行。
diff 的normal 显示格式有三种提示:
a - add
c - change
d - delete
基础知识:
1,ls -l显示的详细信息中
-rw-R - R--
drwxr-XR-X
一共10个字符,第一个字符表示文件类型,后面9个字符表示文件权限,分为三组:①前三个表示此文件的属主文件的权限②中间三个表示此文件属主所在的组对文件的权限③最后三个表示其他用户对文件的权限。
rwx解析:r代表可读; w代表可写; x代表可执行
RWX:可读可写可执行
RX:可读不可写可执行
R--:可读不可写不可执行
==================================
文件类型:
- 表示普通文件普通文本文件和二进制文件ac txt a.out
d表示文件夹,d是目录的缩写
升表示符号连接文件,后面会用 - >打印出它所指向的文件
小号表示套接字文件
p表示管道文件管道
人1 ls ls命令
man 2 ls api命令
man 3 ls C库函数
==================================
vi编辑器的使用(vi和vim的使用)
它是一款软件,可用来编写文件,编写代码。
注意:vi和vim的关系,vim是vi的升级版,推荐使用vim
六的基础使用:
使用vi来打开/创建一个文件vi路径名
VI的两种模式:
①命令模式:当vi打开时默认为命令模式,要转入输入模式,需要按a或者i键
②输入模式:进入输入命令后,可以任意输入信息在输入模式下按ESC,然后输入:,然后按WQ就保存并退出了。
:wq保存并退出;
!:WQ保存并强制退出;
:w保存不退出;
:q退出;
:Q!强制退出;
VI的高级使用:
查找:命令模式下输入/ +内容
快速切换行:命令模式下:+数字
设置显示行数::set nu
设置不显示行号::set nonu
设置永久显示行号:需要修改vi的配置文件。打开vi的配置文件〜/ .vimrc,在其中输入set nu即可。
行删除:
行复制粘贴:
=================================
知识补充:
。代表当前目录
..代表上一层目录(当前目录的父目录,是确定的)
- 代表前一个目录(不确定的前一个目录,刚才从哪个目录cd过来的)
〜代表当前用户的宿主目录
/代表根目录
$命令行的提示符(普通用户)
#命令行的提示符(root用户)
*万能匹配符
宿主目录:操作系统威当前用户所设计的用户存放文件,工作的默认目录。如Windows中“我的文档”的目录。普通用户宿主目录位置:cd / home / gec /,而快捷键:cd 〜就可以到达宿主目录.root用户:cd / root。
=================================
1,权限问题
①
根用户:特权用户是系统的管理员,对系统内所有文件具有操作权限每个普通用户只能处理自己的文件。
普通用户:权限收到限制。
如何进入root用户:su用户名
如何切换普通用户:su gec
②
须藤:须藤使用命令暂时获取根权限
=================================
整行删除:命令模式下,将光标移动到要删除的行,然后输入dd;
如果要删除多行,则输入:行数+ dd;
行复制粘贴:复制:命令模式下:NYY
粘贴:命令模式下:P
细节:复制时要把光标放在多行的第一行,粘贴时实际粘贴到当前光标所在行的下一行。
==================================
LINUX进阶篇:
1,find
在Linux的文件中查找一个文件放在哪里了。
find /etc -name“interfaces”
总结:①当你知道你要找的文件名,但是忘记了它被放在那个目录下,要找到该文件是,用找到
②找路径-name“文件名”
2,grep的
在一个文本文件中,查找某个词。
(grep -nr“SUN”*)
总结:①当你想查找某些符号在那些地方(有可能一个文件,也有可能是多个文件组成的文件夹)出现过,就用grep的
②怎么用:grep -nr“要查找的符号”要查找的目录或文件的集合
注意:-n表示查找结果中显示行号,-r表示要进行递归查找
3,其和whereis
功能:查找一个应用程序在哪里。
区只:哪只显示二进制文件的路径
whereis显示二进制文件的路径和其源码或man手册位置。
4,UNAME
功能:查看系统信息
举例:uname -r
5,开机关机
shutdown -h now立即关机
init 0关机
shutdown -r now立即重启
重启重启
6,树/ lstree
功能:显示文件和目录由根目录开始的树形结构
7,加载/卸载(相当于Ú盘功能)
功能:用来挂载磁盘到文件系统中
(mount -t nfs -o nolock 192.168.1.141:/root/rootfs / mnt
umount / mnt卸载
8,df -h查看已挂在的分区列表
du -h文件名:查看文件或文件夹大小
du-h可以列出这个文件有多大,列出方式是人比较好看懂的方式,不想ls -l列出的都是以字节为单位。
9,用户管理:
useradd user1:添加一个用户
userdel user1:删除一个用户
pssswd user1:为名为用户的用户设置密码
====================================
10,权限管理
作用:用来管理系统中文件的权限
chmod(更改模式)修改文件的权限
chown(change owner)修改属主
chgrp(change group)修改文件中的组
ls -l列出的属性:
-rwxr-xr-x一共是个字符(d表示文件夹 - 表示普通文件)
权限还有另一种表示方法,用数字来表示;
编码规则如下:
r可读4
w可写2
x可执行1
- 无权限0
有了这个编码规则,则rwxr-xr-x编码后为755
第一种权限修改方法:
要把权限改成rwxr - r--则对应的编码值为:744
修改命令为:chmod 744文件名
第二种权限修改方法:
在原来的权限基础上修改我,增加或减少某些权限。
三个组用户的编码依次为:属主u属主所在的组g其他用户o
譬如要属主增加可执行权限:chmod u + x文件名
其他用户增加可写权限:chomod o + w文件名
属主所在组用户去掉可执行权限chmod gx文件名
====================================
11,文件打包压缩与解压缩
tar -czvf dir.tar.gz.dir /将dir目录打包成dir.tar.gz
tar -cjvf dir.tar.bz2.dir /将dir目录打包成dir.tar.bz2
tar -zxvf dir.tar.gz解压缩dir.tar.gz
tar -jxvf dir.tar.bz2解压缩dir.tar.bz2
12,网络配置命令
ifconfig eth0 192.168.1.13设置IP地址
ifconfig eth0 up启动网卡
ifconfig eth0 down禁用网卡
ifup eth0启动网卡
ifdown eth0禁用网卡
ifconfig eth0 192.168.1.13 netmask 255.255.255.0同时设置ip和子网掩码
13,格式化文件系统:
mkfs / dev / hd1
mkfs -t vfat 32 -F / dev / hd1创建一个FAT32文件系统
14,SED和AWK
正则表达式。匹配加替换。
=====================================
虚拟机上网问题:
1,NAT方式:
①选择NAT模式
②打开vi / etc / network / interfaces,将内容编辑成:将静态换成dhcp
③重启网卡:/etc/init.d/networking restart
2,桥接方式:
3,仅主机:仅主机模式
linux查看本机ip: ifconfig
linux查看本机外网ip: curl ifconfig.me
export常用用法:
export PATH=$PATH:/home/zhaodw
胜于修改环境变量,但只在本次登录中有效
注意:(与shell变量相结合)
1 =前PATH变量不加$符号
2 再增加的路径用:追加
功能说明:设置或显示环境变量。
语 法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。
参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量
export设置环境变量是暂时的,只在本次登录中有效,可修改如下文件来使命令长久有效
1、修改profile文件:
#vi /etc/profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
这个在我们的机器上是大家共用的,建议不修改这个,只修改自己根路径下的
即第2种方法
2. 修改本id根路径下的.bashrc或.bash_profile文件:
# vi /home/zhaodw/.bash_profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
注意:
1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;
2、一个shell中的系统环境变量才会被复制到子shell中(用export定义的变量);
3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中)。
4、不用export定义的变量只对该shell有效,对子shell也是无效的。
linux -- 命令行中大于号、小于号的用法
语法:
"命令 < 文件" 这是将文件作为命令输入.
"命令 < 文件1 >文件2" 将文件1输入到命令中,然后将结果输出到文件2中
mysql -u root --password=txlcmysqladmin mysql < createtxlc.sql