Linux命令 一

来源:互联网 发布:网络远程教育学校 编辑:程序博客网 时间:2024/06/05 22:30

cd /home 进入 ‘/ home’ 目录’
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录


pwd 显示工作路径
ls 查看目录中的文件 和目录
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名


mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树

touch a.txt 创建一个新文件
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)


rm -f file1 删除一个叫做 ‘file1’ 的文件’
rmdir dir1 删除一个叫做 ‘dir1’ 的目录’
rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容


cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
mv dir1 new_dir 重命名/移动 一个目录 —–如同一个目录下mv ysting yst


ln –s targetLink newURL创建一个指向文件或目录的软链接 ,即虚拟文件。SourceURL可以不必存在
ln newFile targetLink 创建一个指向文件或目录的物理链接,即真实文件。SourceURL必须已经存在,否则要新建一个,再执行此语句。
ps: ln的链接又 软链接和硬链接两种,软链接就是ln –s * ,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln *,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
Eg:a.page已经存在
ln –s a.page 2 / touch 2 / ln 2 /Users/../a/page


文件搜索
find / -name file1 从 ‘/’ 开始进入根文件系统/或某个目录下,搜索文件和目录
find / -user user1 搜索属于用户 ‘user1’ 的文件和目录
find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name *.rpm -exec chmod 755 ‘{}’ \; 搜索以 ‘.rpm’ 结尾的文件并定义其权限
find / -xdev -name *.rpm 搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备
locate *.ps 寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令


cat filename 一次显示整个文件。
cat > filename 从键盘创建一个文件。
cat file1 file2 > file 将几个文件合并为一个文件。
cat -n textfile1 > textfile2 把1中的内容加上行号后输入2, 2中原有内容会被覆盖。
cat -n textfile1 >> textfile2 把 1加上行号后附加到2,2中原有内容不会被覆盖。
cat -b textfile1 textfile2 >> textfile3 把1 和 2 的内容加上行号(空白行不加)后附加到 3 里。

-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行


file * 查看当前路径下所有文件信息
file –help 显示帮助信息
file –version 显示版本信息
file –brief 1.txt 不显示文件名称
file -L 1.txt 显示符号链接所指向类型


head -20 filename 显示文件的最初几行
cat -n /etc/file | head -n 3 获取前多少行内容
head -c 10 test.txt 获取前n个字节的内容。可以加上单位1(byte) 、1k(1KB)、1m(1MB)默认但是是字节


就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。
tail -15 filename 显示文件的最后几行
tail -f filename 监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
tailf catalina.log
tail -n 20 filename 显示filename最后20行。
tail -n +20 filename 显示filename前面20行。


diff -y file1 file2 将屏幕分成左右两部分,来比较两文件之间的差异
diff file1 file2 比较并显示两个文件的差异
diff -urN old/ new/ > mysoft.patch -r 表示比较目录,-N 表示将不存在的文件当作空文件处理


sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
sort 1.txt
sort -r 1.txt 降序排列
sort -r 1.txt -o 2.txt 将结果写入原文件
sort filename > newfile 用重定向才能将结果写入文件
cat 1.txt


sort 1.txt | uniq 当包含相同条目的行,可以这样删除
sort 1.txt | uniq -c 显示多少行相同
-u或–unique 只显示不重复行。
-d或–repeated 只显示有重复数据行,每种重复行只显示其中一行
-c或–count 打印每一重复行出现次数。


wc -l filename 报告行数
wc -c filename 报告字节数
wc -m filename 报告字符数
wc -w filename 报告单词数

$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total

给文件加上行号
nl log2012.log
nl -b a log2012.log
nl -b a -n rz log2014.log
nl -b a -n rz -w 3 log2014.log
nl -b a -n rz 命令行号默认为六位,要调整位数可以加上参数 -w 3 调整为3位。

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。-p 在逻辑定界符处不重新开始计算。


top 显示所有程序的pid
ps aux > 1.txt 把结果输出到1.txt文本中并保存
ps aux 输出的解释:
USER 进程的属主;
PID 进程的ID;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,数值大,表示较少占用CPU时间;

STAT 进程状态(有以下几种)
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
X 死掉的进程(从来没见过);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
START 启动进程的时间;
TIME 进程消耗CPU的时间;
COMMAND 命令的名称和参数;


ps ax | grep jboss 查找跟JBOSS相关的几个进程
kill -9 PID 终止某个进程
kill -9 -1 终止你拥有的全部进程。
“|”线是管道的意思;grep是在源文本中查找的意思,jboss是grep的参数,意思是在 源文本中查找jboss相关的行,并列出显示,那么源文本是指哪呢,此时,“|”线就是起这个作用,它把ps ax找出的结果转移到grep作为源文本了。

Mac
pkill ApplicationName
sudo pkill -u Will *  杀死属于Will用户的每一个进程


date 显示系统当前时间
date -s 20080305 设置日期
date -s 12:19:50 设置时间
date -s “01:01:01 2008-05-23” 设置全部时间
date -s “20080523 01:01:01″ 设置全部时间

cal 显示当前月份日历
cal 9 2012 显示指定月份的日历
cal -y 2013 显示2013年日历


time命令常用于测量一个命令的运行时间
time find . -name “mysql.sh” >1.txt 标准错误输出上,time命令输出信息的重定向
time sleep 2

real 0m2.005s :sleep这个程序运行耗时为0m2.005s
user 0m0.001s : 这个时间代表的是sleep运行在用户态的cpu时间
sys 0m0.002s : 这个时间代表的是sleep运行在核心态的cpu时间。


telnet ip 远程连接
brew 相当于迅雷,一个下载工具。 brew install rpm (brew只能在Mac机上用)
node 一个运行js的工具
rpm 安装rpm安装包

Linux下Telnet 设置和测试http://www.cnblogs.com/joeblackzqq/archive/2012/04/27/2474011.html


rpm -i example.rpm 安装rpm软件包
rpm -q Telnet 查询命令
rpm -e tomcat4 卸载 tomcat4 软件包
rpm -Uvh example.rpm 升级 example.rpm 软件包

rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;
rpm -qip example.rpm 查看 example.rpm 安装包的信息;
rpm -qif /bin/df 查看/bin/df 文件所在安装包的信息;
rpm -qlf /bin/df 查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下;

a 查询安装包的信息;
i 显示安装包的信息;
l 显示安装包中的所有文件被安装到哪些目录下;
s 显示安装版中的所有文件状态及被安装到哪些目录下
p 查询的是安装包的信息;
f 查询的是已安装的某文件信息;

-ivh:安装显示安装进度–install–verbose–hash
-Uvh:升级软件包–Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包


history
使用 HISTTIMEFORMAT 显示时间戳

export HISTTIMEFORMAT=’%F %T ’ 显示时间,并格式化
history | more
!4 执行历史清单中的第4条命令
!ps 通过指定关键字来执行以前的命令
export HISTCONTROL=ignoredups 从命令历史中剔除连续重复的条目
history | tail -3 显示历史的倒数3个命令
history -c 清除所有的命令历史
history 10 列出最近10条记录
!! 重复执行上一个命令

使用 HISTSIZE 控制历史命令记录的总行数
vi ~/.bash_profile
HISTSIZE=450 HISTFILESIZE=450
uname -a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理
器类型,硬件平台类型,操作系统名称


clear 清除屏幕内容
alias cls=clear 命名别名


env 显示当前所有设置过的环境变量
export TEST=”test”设置一个新的环境变量WELCOME
echo HOMEHOMEunsetTEST 命令清除环境变量TEST
set 显示所有本地定义的Shell变量
readonly TEST 设置只读变量

export设置只对当前的bash登录session有效。这是存在内存里面的,而并没有写入哪个文件。

要想把他变成永久性的需要把他添加到开机启动的脚本中。/etc/profile、/etc/bashrc等式“全局”,开机之后自动加载,所有用户共享着些文件。而每个用户的家目录下的.bashrc、.barsh_profile等脚本是“局部”的,只对该用户有效.

set和export是设置变量, set用于csh环境, export用于bash环境
格式:set DISPLAY 192.168.1.1:0
export DISPLAY=192.168.1.1:0


who命令主要用于查看当前在线上的用户情况。
talk命令,先使用who查看用户是否在线
系统管理员希望监视每个登陆的用户此时此刻的所作所为,也要使用who命令

-a 显示所有用户的所有信息
-m 显示运行该程序的用户名,和“who am I”的作用一样
-u 在登陆用户后面显示该用户最后一次对系统进行操作距今的时间


0 0