linux常用命令

Linux - unix

系统 -> 应用程序 -> 终端

pwd - 察看当前所在的位置(文件夹)

/home/soft01  主目录
ls - 察看当前目录下的文件列表

cd ..  cd 切换目录  “..”表示上一层目录
pwd
/home
cd soft01  切换到当前目录下的soft01
           相对路径(相对于当前路径)
cd /home/soft01   绝对路径(从根目录开始写)
pwd
/home/soft01

用相对路径切换到 /opt
cd ../../opt
pwd
/opt

回到用户主目录
cd
cd ~
cd $HOME
pwd
/home/soft01

echo abc  回显
abc
echo $HOME
/home/soft01

------------------------------

cd /etc
ls
ls --help

man ls
:q 退出

------------------------------

ls -l 详细
ls -a 所有
ls -la 组合

------------------------------

pwd
/home/soft01

创建文件夹 mydir
mkdir mydir
ls -l
drwxr-xr-t 2  mydir

cd mydir
pwd
/home/soft01/mydir

创建文件 file1 644
touch file1
ls -l
cd ..
ls -l

 

cd mydir
mkdir dir1
cd ..
ls -l

cd mydir
ls -la
.  当前目录
.. 上一层目录
dir1


cd ./dir1

ls -l fi*  列出以 fi 开头的文件 * 是通配符

------------------------------

cd ~/mydir
pwd
/home/soft01/mydir

ls -l
 owner group other
 用户 群组  其他
-rw-  r--   r--  file1
r - 读
w - 写
x - 执行

设置文件权限
      100  100  100
chmod 444 file1

ls -l
-r--r--r--  file1

rm - remove 删除文件
rm file1

chmod 644 file1
rm file1
ls


echo abcabc > file1
ls -l
cat file1
abcabc

-----------------------------

vi - 终端的文本编辑工具
:q

vi file1
编辑模式 i
底行模式 esc

cd /etc
pwd

按esc
输入 :wq

批处理程序
./file1
./file1: 权限被否定
chmod u+x,g+wx,o+wx file1 
./file1

-----------------------------
拷贝文件
cp file1 file2
ls
cp /etc/passwd .
cat passwd
more passwd 分页察看

移动文件(剪切、改名)
mv file2 flie3
mv flie3 dir1
ls
ls dir1
pwd
/home/soft01/mydir


删除文件
rm dir1
rm: dir1 是目录
rm --help
rm -R dir1  删除文件夹加 -R
ls


创建多层目录
mkdir dir1/a/b
mkdir -p dir1/a/b  创建多层文件夹加 -p
cd dir1/a/b
pwd
cd ../../../
pwd

-----------------------------

修改密码
passwd

登录
login

以超级用户身份(root)登录
su

退出登录
exit

-----------------------------

察看分区
df -k

swap - 虚拟内存分区


清屏
clear

察看文件类型
file file1
file dir1
file passwd

-----------------------------

1,在 dir1/a/b 文件夹中创建 file1
2,修改 b 文件夹的权限为只读 444
 cd b
 pwd
 /home/soft01/dir1/a
 ls b
 more b/file1
 

3,修改b文件夹中的file1文件内容
4,b文件夹中创建文件 file2
5,删除file1文件

6,b读权限去掉 333  wx
 cd b
 ls 不可以
 echo aaa >> file2
 more file2
 
7,列出b目录中的文件

s100101
s100160

telnet 192.168.0.26

 密码用 soft01


pwd
mkdir mydir
chmod 666 mydir
cd mydir

只有自己可以进入该目录,其他人不允许进入
chmod 766 mydir  
cd mydir
cd /user/sd1001/s100102/mydir
----------------------------------------

u
g
o
rwx
t - 只有自己可以删除

cd $HOME
chmod 1777 mydir
ls -l
rwxrwxrwt

chmod -t mydir
chmod +t mydir

---------------------------------------
cp /etc/passwd .
ls
cp /etc/passwd .
cp -i /etc/passwd .   -i 参数提示覆盖
rm -i passwd          -i 参数提示是否删除
chmod 444 passwd
rm passwd
rm -f passwd          -f 强制删除
rm -Rf dir1      -Rf 目录中的只读文件不会一个一个提示

---------------------------------------
head 数据的前几行 (10)
tail 数据的后几行 (10)

ls
cp /etc/passwd .
head passwd    前十行
head -5 passwd 前五行
tail passwd    末十行
tail -5 passwd 末十行

tail -f passwd   监视文件的修改
ctrl + c 中断命令


   另一终端中执行
   echo eeeeeeeeeee >> passwd

---------------------------------------

cal - 显示日历
cal 1 2010

---------------------------------------
正则表达式
. 匹配任意单个字符
.*   abc   abcde
abc 匹配 abc
[a-z] 匹配任意单个小写字母
[a-z]*  abc   abcde
[^a-z]  除了小写字母之外
[a-zA-Z0-9] 任意单个字母或数字
^a  以小写字母a开头
a$  以小写字母a结尾

以非数字开头
^[^0-9]

more passwd
s100160

grep '^s1001' passwd
grep 's1001.*' passwd
---------------------------------------

管道 |
把一个命令运行的结果交给另一命令进行处理

ls -l /etc  |  grep ^d

ls -l /etc  |  grep ^d  | more

---------------------------------------
sort 排序
cat passwd | sort | more

wc 计数
-l 行
-w 词
-c 字数
cat passwd | wc -l
s1001 开头的用户数量
cat passwd | grep '^s1001' | wc -l

/etc 文件夹中文件的数量
ls -l /etc | grep '^[^d]' | wc -l

---------------------------------------
察看当前登录的用户
id

察看所有登录的用户
who

who | sort
用户登录的次数
who | grep s100142 | wc -l
---------------------------------------

tee -输出终端中的数据
tee
abc
abc

ls -l /etc | tee file1  终端中显示结果输出至文件
ls
more file1
---------------------------------------

ln - 创建文件连接
原文件的备份副本 - 硬连接
ln passwd passwd.ln
ls -l
-rw-r--r--   2 openlab  other      70742  2月  1日 11:27 passwd
-rw-r--r--   2 openlab  other      70742  2月  1日 11:27 passwd.ln

echo 111111111111 >> passwd
tail -5 passwd.ln

rm passwd      删除原文件
tail -5 passwd.ln   之后连接文件仍然可用

mv passwd.ln passwd
ls

软连接(快捷方式)
ln -s passwd passwd.sln
ls -l
-rw-r--r--   1 openlab  other      70742  2月  1日 11:27 passwd
lrwxrwxrwx   1 openlab  other          6  2月  1日 11:36 passwd.sln
echo 22222222 >> passwd.sln
tail -5 passwd.sln

删除原文件后,快捷方式无效
rm passwd
tail -5 passwd.sln

$: exit
$: exit

---------------------------------------

vi
:q
vi file1

进入编辑状态,esc 回到命令状态
i 当前光标前面插入数据
a 当前光标后面插入数据
o 当前行下面新起一行
O 当前行上面新起一行

: 底行模式
:w  写入
:q  退出
:q! 强制退出不保存
:wq 写入并退出
dd 删除当前一行
3dd 删除当前行之后3行
ndd

dw 删除单词
ndw 删除n个单词

x 删除单个字符
nx 删除n个字符

yy 复制当前行
nyy 复制n行
p 粘贴到下一行

u undo

^ 跳到行头
$ 跳到行尾
G 跳到文件末尾
nG 跳到第n行

:set number 显示行号
:set nonu 不显示行号

:q!
cp /etc/passwd .
vi passwd
:set number
G

/soft01  搜索soft01
n 搜索下一个位置
/soft.*  正则表达式搜索

:1,$ s/s/-/g 把从第一行到最后一行中的s替换为-

把从第10行到20行中的u-r替换为usr
:10,20 s/u-r/usr/g

每行行首加 #
:1,$ s/^/# /g

 

-----------------------------------------------

vi/vim 中可以使用 :s 命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询。 
  
  :s/vivian/sky/ 替换当前行第一个 vivian 为 sky 
  
  :s/vivian/sky/g 替换当前行所有 vivian 为 sky 
  
  :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky 
  
  :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky 
  
  n 为数字,若 n 为 .,表示从当前行开始到最后一行 
  
  :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky 
  
  :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky 
  
  可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符 
  
  :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/ 
  
  :%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/ 
  
  1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky 
  
  :s/vivian/sky/g 替换当前行所有 vivian 为 sky 
  
  2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky 
  
  :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky 
  
  (n 为数字,若 n 为 .,表示从当前行开始到最后一行) 
  
  3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky 
  
  :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky 
  
  4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符 
  
  :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/ 
  
  5. 删除文本中的^M 
  
  问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。这样,将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。 
  
  。 使用命令:cat filename1 | tr -d “^V^M” > newfile; 
  
  。 使用命令:sed -e “s/^V^M//” filename > outputfilename.需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M.你必须要手工进行输入,而不是粘贴。 
  
  。 在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//. 
  
  。 :%s/^M$//g 
  
  如果上述方法无用,则正确的解决办法是: [Page]
  
  。 tr -d \"\\r\" < src >dest 
  
  。 tr -d \"\\015\" dest 
  
  。 strings A>B 
      6. 替换确认
         我们有很多时候会需要某个字符(串)在文章中某些位置出现时被替换,而其它位置不被替换的有选择的操作,这就需要用户来进行确认,vi的查找替换同样支持
       例如
      :s/vivian/sky/g 替换当前行所有 vivian 为 sky 
      在命令后面加上一个字母c就可以实现,即:s/vivian/sky/gc
      顾名思意,c是confirm的缩写
  
  7. 其它 
  
  利用 :s 命令可以实现字符串的替换。具体的用法包括: 
  
  :s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1 
  
  :s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1 
  
  :。,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1 
  
  :1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1 
  
  :g/str1/s//str2/g 功能同上 
  
  从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索 
  
  字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作

---------------------------------------

环境变量

$PATH=/oracledata/oracle10g/product/10g/bin:/usr/sbin:/usr/local/bin:/usr/bin:/usr/ucb:/etc:/usr/openwin/bin:/usr/ccs/bin:.

当执行一个命令时(ls),
1 当前目录找有没有 ls 可执行文件
2 $PATH变量制定目录下依次查找

$PATH 的作用是操作系统在其中找可执行文件


vi test.sh
cal
:wq

chmod u+x test.sh
./test.sh

cd mydir
./test.sh
./test.sh: 命令没有找到


export PATH=/home/soft01:$PATH

echo $PATH
/home/soft01:/oracledata/oracle10g/product/10g/bin:/usr/sbin:/usr/local/bin:/usr/bin:/usr/ucb:/etc:/usr/openwin/bin:/usr/ccs/bin:.

在 /home/soft01/mydir 目录下
test.sh      - 该文件在 /home/soft01 下

---------------------------------------

vi /etc/profile  - 系统环境配置
:q

 

echo $JAVA_HOME
echo $CLASSPATH
echo $PATH

java -version

env - 察看环境变量


vi $HOME/.bash_profile  用户环境配置

JAVA_HOME=A
CLASSPATH=B
PATH=C:$HOME:$PATH

export JAVA_HOME CLASSPATH PATH
:wq

source 执行一个脚本文件
source .bash_profile
  只对当前终端有效
  除非注销重新登录

echo $JAVA_HOME
echo $PATH


---------------------------------------
bash csh ksh

csh
ps - 察看进程

exit
ps

---------------------------------------

pwd
cd ~
文件压缩解压缩
tar --help
tar cvf test.tar test.sh passwd   后面两个文件压缩到test.tar
ls

rm test.sh
rm passwd

tar xvf test.tar  解压缩到当前目录

---------------------------------------

gzip * 原文件压缩成gz文件并删除原文件
ls
gzip -dv *   gz文件解压后删除
ls

---------------------------------------

echo 11111 > wht.txt

ftp 192.168.0.23
openlab
open123

ftp> pwd
ftp> ls
ftp> cd unix
ftp> pwd
ftp> ls
ftp> lcd /home/soft01/mydir   切换本地目录
ftp> get unix.pdf             下载文件
ftp> lcd /home/soft01
ftp> put wht.txt              上传文件
ftp> ls
ftp> quit           退出ftp

---------------------------------------

ifconfig - 察看ip地址
ifconfig -a

---------------------------------------

ping 192.168.0.23
ctrl + c

ping localhost  会解析为 127.0.0.1
ping 127.0.0.1  本机回环地址

---------------------------------------
文件管理器
文件系统 - /
主目录 - /home/soft01
右键点test.sh 配置权限

/opt/eclipse
eclipse 菱形图标

cd Desktop
ln -s /opt/eclipse/eclipse eclipse

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值