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
分享到:
相关推荐
### Linux常用命令详解 #### 一、文件管理 1. **ls**:此命令用于列出当前目录中的文件和子目录。通过使用不同的选项,可以改变其输出格式。 - `-l`:使用长格式列表输出,包括文件权限、拥有者、组、大小等详细...
以下是一些关于Linux常用命令的详细说明: 1. **pwd**:`pwd`(Print Working Directory)命令用于显示当前工作目录,即用户当前所在的目录路径。 2. **cd**:`cd`命令用于切换目录。例如,`cd /`进入根目录,`cd ...
LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 ...
linux常用命令大全 1. **ls**:列出目录内容 2. **cd**:改变当前目录 3. **pwd**:显示当前工作目录 4. **mkdir**:创建目录 5. **rmdir**:删除空目录 6. **cp**:复制文件或目录 7. **mv**:移动或重命名文件或...
"最全Linux常用命令大全-linux常用命令全集" 本文档对 Linux 中最常用的命令进行了详细的总结和说明,涵盖了文件和目录管理、磁盘空间管理等方面的命令。 文件和目录管理命令 1. `pwd` 命令:显示当前目录 `pwd`...
Linux常用命令手册大全.zip 部分内容: Linux常用命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls -l或ll 列...
### Linux常用命令详解知识点 #### 一、命令格式与通配符 - **命令格式**: - **命令**:指定要执行的操作。 - **选项**:改变命令的行为方式,通常以`-`开头,多个选项可以用空格或直接连接的方式给出。 - **...
04.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls.mp4 04.1.2 Linux常用命令-文件处理命令-目录处理命令.mp4 04.1.3 Linux常用命令-文件处理命令-文件处理命令.mp4 04.1.4 Linux常用命令-文件处理...
Linux 常用命令大全 Linux 操作系统是一个功能强大且灵活的操作系统,拥有众多实用的命令来帮助用户管理和维护系统。下面是 Linux 中一些常用的命令,旨在帮助用户快速掌握 Linux 操作系统。 TTY 控制台终端 在 ...