Linux操作系统服务器学习笔记一

虚拟机安装CentOS详细步骤

参考这里

常用命令:

常用命令:

1.内部命令:echo
查看内部命令帮助:help echo 或者 man echo

2.外部命令:ls
查看外部命令帮助:ls --help 或者 man ls 或者 info ls

3.man文档的类型(1~9)
man 7 man
man 5 passwd

4.快捷键:
ctrl + c:停止进程

ctrl + l:清屏

ctrl + r:搜索历史命令

ctrl + q:退出

5.善于用tab键
main
1.进入到用户根目录
cd ~ 或者 cd
cd ~hadoop
回到原来路径
cd -

2.查看文件详情
stat a.txt

3.移动
mv a.txt /ect/
改名
mv b.txt a.txt
移动并改名
mv a.txt ../b.txt

4拷贝并改名
cp a.txt /etc/b.txt

5.vi撤销修改
ctrl + u (undo)
恢复
ctrl + r (redo)

6.名令设置别名(重启后无效)
alias ll="ls -l"
取消
unalias ll

7.如果想让别名重启后仍然有效需要修改
vi ~/.bashrc

8.添加用户
useradd hadoop
passwd hadoop

9创建多个文件
touch a.txt b.txt
touch /home/{a.txt,b.txt}

10.将一个文件的内容复制到里另一个文件中
cat a.txt > b.txt
追加内容
cat a.txt >> b.txt 


11.将a.txt 与b.txt设为其拥有者和其所属同一个组者可写入,但其他以外的人则不可写入:
chmod ug+w,o-w a.txt b.txt

chmod a=wx c.txt

12.将当前目录下的所有文件与子目录皆设为任何人可读取:
chmod -R a+r *

13.将a.txt的用户拥有者设为users,组的拥有者设为jessie:
chown users:jessie a.txt

14.将当前目录下的所有文件与子目录的用户的使用者为lamport,组拥有者皆设为users,
chown -R lamport:users *

15.将所有的java语言程式拷贝至finished子目录中:
cp *.java finished

16.将目前目录及其子目录下所有扩展名是java的文件列出来。
find -name "*.java"
查找当前目录下扩展名是java 的文件
find -name *.java

17.删除当前目录下扩展名是java的文件
rm -f *.java
文件相关命令
1.查看主机名
hostname

2.修改主机名(重启后无效)
hostname hadoop

3.修改主机名(重启后永久生效)
vi /ect/sysconfig/network

4.修改IP(重启后无效)
ifconfig eth0 192.168.12.22

5.修改IP(重启后永久生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0

6.查看系统信息
uname -a
uname -r

7.查看ID命令
id -u
id -g

8.日期
date
date +%Y-%m-%d
date +%T
date +%Y-%m-%d" "%T

9.日历
cal 2012

10.查看文件信息
file filename

11.挂载硬盘
mount
umount
加载windows共享
mount -t cifs //192.168.1.100/tools /mnt

12.查看文件大小
du -h
du -ah

13.查看分区
df -h

14.ssh
ssh hadoop@192.168.1.1

15.关机
shutdown -h now /init 0
shutdown -r now /reboot
系统命令
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)
文件夹属性
i
a/A
o/O
r + ?替换

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(有提示)
Vim
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.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.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.新建一个文件
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
进程控制
创建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.安装JDK
    *添加执行权限 
        chmod u+x jdk-6u45-linux-i586.bin
    *解压
        ./jdk-6u45-linux-i586.bin
    *在/usr目录下创建java目录
        mkdir /usr/java
    *将/soft目录下的解压的jdk1.6.0_45剪切到/usr/java目录下
        mv jdk1.6.0_45/ /usr/java/
    *添加环境变量
        vim /etc/profile
        *在/etc/profile文件最后添加
            export JAVA_HOME=/usr/java/jdk1.6.0_45
            export CLASSPATH=$JAVA_HOME/lib
            export PATH=$PATH:$JAVA_HOME/bin
    *更新配置
        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
    
3.安装eclipse



我装JDK:
tar -zxvf /usr/java/JDK/jdk-7u45-linux-x64.tar.gz -C /usr/java/JDK/

vim /etc/profile

JAVA_HOME=/usr/java/JDK/jdk1.7.0_45
export CLASSPATH=$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

javac
我装Tomcat
tar -zxvf /usr/java/Tomcat/apache-tomcat-7.0.47.tar.gz -C /usr/java/Tomcat/

启动Tomcat
cd /usr/java/Tomcat/apache-tomcat-7.0.47/bin/
    ./startup.sh
关闭Tomcat
cd /usr/java/Tomcat/apache-tomcat-7.0.47/bin/
    ./shutdown.sh
临时关闭防火墙
service iptables stop

下次启动时默认关闭防火墙
chkconfig iptables off

查看当前防火墙状态
chkconfig iptables --list

查看进程
jps 显示进程的pid 唯一标识

查看进程(Tomcat)
netstat -an|grep 8080

查看日志(控制台)
进到Tomcat文件夹的根目录下
tail -f logs/catalina.out

关闭进程
kill -9 (pid)

安装eclipse
tar -zxvf /usr/java/Eclipse/eclipse-standard-kepler-SR1-linux-gtk-x86_64.tar.gz -C /usr/java/Eclipse/

关闭Linux图形界面
vim /etc/inittab
安装软件

 Linux试题

Linux试题

    1. 在Linux系统中,以       方式访问设备 。 

    2. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:      ,该文件属性是       。 

    3. 前台起动的进程使用       终止。

    4. vi编辑器具有几种工作模式:编辑模式,插入模式,                   。 

    5. 可以用ls –al命令来观察文件的权限,每个文件的权限都用   位表示,并分为  段,其中第一段占   位,表示文件类型 ,第二段占  位,表示 文件所有者 对该文件的权限。

    6. 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是     。 

    7. 结束后台进程的命令是      。

    8. 在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是       。 

    9. 将前一个命令的标准输出作为后一个命令的标准输入,称之为    。 

    10. 为脚本程序指定执行权的命令及参数是          。 

    11. 进行远程登录的命令是      。 

    12. 在 Linux系统中,压缩文件后生成后缀为.gz文件的命令是        。 

    13. 在vi编辑环境下,使用       进行模式转换。

    14. 将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式                                  。 

    15. 管道就是将前一个命令的 标准        作为后一个命令的      

    16.      命令可删除文件或目录,删除该目录下所有文件的参数为     。 

    17.      命令可以移动文件和目录,还可以为文件     。 

    18. shell不仅是用户命令的解释器 ,它同时也是一种功能强大的        。 

    19. 增加一个用户的命令是:            。 

    20.      目录用来存放系统管理员使用的可执行文件。

    21. 与shutdown –h 相同功能的命令为: halt     

    22. Linux文件权限一共10位长度,分成四段,第三段表示的内容是    。 
A 文件类型 B 文件所有者的权限 
C 文件所有者所在组的权限 D 其他用户的权限 

    23. 在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是    。 
A -m B -d C -f D -p 

    24. 一个文件名字为bz2,可以用来解压缩的命令是:   。 
A tar B gzip C compress D bzip2 

    25. Linux有三个查看文件的命令,若希望在查看文件内容过程中可以翻页来查看文件内容,应使用    命令。 
A cat B more C ls D menu 

    26. 对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是     。 
A -rwxr-xr-x B -rwxr--r-- C -r--r--r-- D -r-xr-x—x 

    27. 用ls –al 命令列出下面的文件列表,     文件是符号连接文件。 
A -rw-rw-rw- 2 hel-s users 56 Sep 09 11:05 hello 
B -rwxrwxrwx 2 hel-s users 56 Sep 09 11:05 goodbey 
C drwxr--r-- 1 hel users 1024 Sep 10 08:10 zhang 
D lrwxr--r-- 1 hel users 2024 Sep 12 08:12 cheng 

    28. Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在     目录中。 
A /bin B /etc C /dev D /lib 

    29. 关闭linux系统(不重新启动)可使用命令    。 
A Ctrl+Alt+Del B halt C shutdown -r now D reboot 

    30. 用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为      。 
-rwxr-xr-- 1 root root 599 Cec 10 17:12 ff 
A 普通文件 B 硬链接 C 目录 D 符号链接 

    31. 删除文件命令为:     。 
A mkdir B rmdir C mv D rm 

    32. 改变文件所有者的命令为     。 
A chmod B touch C chown D cat 

    33. 在给定文件中查找与设定条件相符字符串的命令为:     。 
A grep B gzip C find D sort 

    34. 建立一个新文件可以使用的命令为     。 
A chmod B more C cp D touch 

    35. 在下列命令中,不能显示文本文件内容的命令是:    。 
A more B less C tail D join 

    36. 某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为     。 
A 467 B 674 C 476 D 764 

    37. 已知某用户stud1,其用户目录为/home/stud1。如果当前目录为/home,进入目录/home/stud1/test的命令是       。 
A cd test B cd /stud1/test C cd stud1/test D cd home 

    38. 已知某用户stud1,其用户目录为/home/stud1。分页显示当前目录下的所有文件的文件或目录名、用户组、用户、文件大小、文件或目录权限、文件创建时间等信息的命令是        。 
A more ls –al B more –al ls C more < ls –al D ls –al | more 
 
    39.      命令是在vi编辑器中执行存盘退出。 
A :q B ZZ C :q! D :wq

    40. 文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是  。 
A chmod a+x, g+w exer1 B chmod 765 exer1 
C chmod o+x exer1 D chmod g+w exer1 

41.RPM 命令中检查是否已安装软件的参数为:    
A.-qp  B. –vh  C. –e  D. –qa|grep

42.切换用户命令为:    
A.su B. usermod C. id D grep

43.Linux中定义用户账户的文件为:    
A./etc/passwd B. /etc/shadow C. /etc/group  D /etc/gshadow
View Code

猜你喜欢

转载自www.cnblogs.com/biaogejiushibiao/p/10322816.html