Linux笔记二

Posted H.U.C-王子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux笔记二相关的知识,希望对你有一定的参考价值。

用户和组

添加一个tom用户,设置它属于users组,并添加注释信息
分步完成:useradd tom
usermod -g users tom
usermod -c "hr tom" tom
一步完成:useradd -g users -c "hr tom" tom

设置tom用户的密码
passwd tom

修改tom用户的登陆名为tomcat
usermod -l tomcat tom

将tomcat添加到sys和root组中
usermod -G sys,root tomcat

查看tomcat的组信息
groups tomcat

添加一个jerry用户并设置密码
useradd jerry
passwd jerry

添加一个交america的组
groupadd america

将jerry添加到america组中
usermod -g america jerry

将tomcat用户从root组和sys组删除
gpasswd -d tomcat root
gpasswd -d tomcat sys

将america组名修改为am
groupmod -n am america

权限

创建a.txt和b.txt文件,将他们设为其拥有者和所在组可写入,但其他以外的人则不可写入:
chmod ug+w,o-w a.txt b.txt

创建c.txt文件所有人都可以写和执行
chmod a=wx c.txt 或chmod 666 c.txt

将/itcast目录下的所有文件与子目录皆设为任何人可读取
chmod -R a+r /itcast

将/itcast目录下的所有文件与子目录的拥有者设为root,用户拥有组为users
chown -R root:users /itcast

将当前目录下的所有文件与子目录的用户皆设为itcast,组设为users
chown -R itcast:users *

文件夹属性

1.查看文件夹属性
ls -ld test

2.文件夹的rwx
--x:可以cd进去
r-x:可以cd进去并ls
-wx:可以cd进去并touch,rm自己的文件,并且可以vi其他用户的文件
-wt:可以cd进去并touch,rm自己的文件

ls -ld /tmp
drwxrwxrwt的权限值是1777(sticky)

vim

插入命令:

定位模式

删除命令:

替换和取消命令:

常用快捷键

搜索

 

0:文件当前行的开头
$:文件当前行的末尾
G:文件的最后一行开头
1 + G到第一行
9 + G到第九行 = :9

dd:删除一行
3dd:删除3行
yy:复制一行
3yy:复制3行
p:粘贴
u:undo
ctrl + r:redo

"a剪切板a
"b剪切板b

"ap粘贴剪切板a的内容

每次进入vi就有行号
vi ~/.vimrc
set nu

:w a.txt另存为
:w >> a.txt内容追加到a.txt

:e!恢复到最初状态

:1,$s/hadoop/root/g 将第一行到追后一行的hadoop替换为root
:1,$s/hadoop/root/c 将第一行到追后一行的hadoop替换为root(有提示)

安装软件

1.安装JDK
*添加执行权限
chmod u+x jdk-7u45-linux-i586.bin
*解压
./jdk-7u45-linux-i586.bin
*在/usr目录下创建java目录
mkdir /usr/java
*将/soft目录下的解压的jdk1.7.0_45剪切到/usr/java目录下
mv jdk1.7.0_45/ /usr/java/
*添加环境变量
vim /etc/profile
*在/etc/profile文件最后添加

export JAVA_HOME=/usr/local/jdk1.7.0_55
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


*更新配置
source /etc/profile

2.安装tomcat
tar -zxvf /soft/apache-tomcat-7.0.47.tar.gz -C /programs/
cd /programs/apache-tomcat-7.0.47/bin/
./startup.sh

查找

1.查找可执行的命令:
which ls

2.查找可执行的命令和帮助的位置:
whereis ls

3.查找文件(需要更新库:updatedb)
locate hadoop.txt

4.从某个文件夹开始查找
find / -name "hadooop*"
find / -name "hadooop*" -ls

5.查找并删除
find / -name "hadooop*" -ok rm {} \\;
find / -name "hadooop*" -exec rm {} \\;

6.查找用户为hadoop的文件
find /usr -user hadoop -ls

7.查找用户为hadoop并且(-a)拥有组为root的文件
find /usr -user hadoop -a -group root -ls

8.查找用户为hadoop或者(-o)拥有组为root并且是文件夹类型的文件
find /usr -user hadoop -o -group root -a -type d

9.查找权限为777的文件
find / -perm -777 -type d -ls

10.显示命令历史
history

11.grep
grep hadoop /etc/password

打包与压缩

1.gzip压缩
gzip a.txt

2.解压
gunzip a.txt.gz
gzip -d a.txt.gz

3.bzip2压缩
bzip2 a

4.解压
bunzip2 a.bz2
bzip2 -d a.bz2

5.将当前目录的文件打包
tar -cvf bak.tar .
将/etc/password追加文件到bak.tar中(r)
tar -rvf bak.tar /etc/password

6.解压
tar -xvf bak.tar

7.打包并压缩gzip
tar -zcvf a.tar.gz

8.解压缩
tar -zxvf a.tar.gz
解压到/usr/下
tar -zxvf a.tar.gz -C /usr

9.查看压缩包内容
tar -ztvf a.tar.gz

zip/unzip

10.打包并压缩成bz2
tar -jcvf a.tar.bz2

11.解压bz2
tar -jxvf a.tar.bz2

正则表达式

1.cut截取以:分割保留第七段
grep hadoop /etc/passwd | cut -d: -f7

2.排序
du | sort -n

3.查询不包含hadoop的
grep -v hadoop /etc/passwd

4.正则表达包含hadoop
grep \'hadoop\' /etc/passwd

5.正则表达(点代表任意一个字符)
grep \'h.*p\' /etc/passwd

6.正则表达以hadoop开头
grep \'^hadoop\' /etc/passwd

7.正则表达以hadoop结尾
grep \'hadoop$\' /etc/passwd

规则:
. : 任意一个字符
a* : 任意多个a(零个或多个a)
a? : 零个或一个a
a+ : 一个或多个a
.* : 任意多个任意字符
\\. : 转义.
\\<h.*p\\> :以h开头,p结尾的一个单词
o\\{2\\} : o重复两次

grep \'^i.\\{18\\}n$\' /usr/share/dict/words

查找不是以#开头的行
grep -v \'^#\' a.txt | grep -v \'^$\'

以h或r开头的
grep \'^[hr]\' /etc/passwd

不是以h和r开头的
grep \'^[^hr]\' /etc/passwd

不是以h到r开头的
grep \'^[^h-r]\' /etc/passwd

输入输出重定向及管道

1.新建一个文件
touch a.txt
> b.txt

2.错误重定向:2>
find /etc -name zhaoxing.txt 2> error.txt

3.将正确或错误的信息都输入到log.txt中
find /etc -name passwd > /tmp/log.txt 2>&1
find /etc -name passwd &> /tmp/log.txt

4.追加>>

5.将小写转为大写(输入重定向)
tr "a-z" "A-Z" < /etc/passwd

6.自动创建文件
cat > log.txt << EXIT
> ccc
> ddd
> EXI

7.查看/etc下的文件有多少个?
ls -l /etc/ | grep \'^d\' | wc -l

8.查看/etc下的文件有多少个,并将文件详情输入到result.txt中
ls -l /etc/ | grep \'^d\' | tee result.txt | wc -l

进程控制

1.查看用户最近登录情况
last
lastlog

2.查看硬盘使用情况
df

3.查看文件大小
du

4.查看内存使用情况
free

5.查看文件系统
/proc

6.查看日志
ls /var/log/

7.查看系统报错日志
tail /var/log/messages

8.查看进程
top

9.结束进程
kill 1234
kill -9 4333

10.查看占用端口的程序

ps -ef | grep 6379

 

补充

ifconfig:查询ip
service network restart:重启网络连接
clear:清屏
service iptables status:查看防火墙状态
service iptables stop:临时关闭防火墙
chkconfig iptables off:永久关闭防火墙
hostname:查看主机名
hostname xxx:改变主机名为xxx
vim /etc/sysconfig/network:
pwd:查看当前路径
rm -f xx:删除xx文件 -r目录
touch [文件名]:创建一个空文件
mikdir [目录名]:创建一个文件夹
vim: a 输入 shilf+: wq保存退出 q!不保存退出
cp [源文件] [目标文件]:复制 -r 递归复制
cat [文件名称] :查看文件内容(内如过多,显示内容可能不全)
more [文件名称] :查看文件内容,可完全显示。使用空格进行翻页,回车显示下一行,q退出(或者ctrl+c)
head -number [文件名] :查看文件的前多少行
tail -number [文件名] :查看文件的后多少行

mv 1 修改文件名称的功能 : mv [源文件名称] [新文件名称]
2 移动文件位置: mv [源文件名称] [新文件位置+ 新文件名称]
ln -s [源文件] [目标文件] (硬链接则不需要-s选项)
su - [用户名] :切换用户
chmod 777 filename:设置权限

以上是关于Linux笔记二的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习笔记二

linux学习笔记二:文件与目录管理

Linux学习笔记二

Linux学习笔记:Linux常用命令操作

linux学习笔记二-----文件权限管理

Linux笔记二