linux基础命令使用方法

linux 格式

   命令 [参数][路径文件]

     rm -rf   /etc/passwd


#    linux /  所有的目录都在跟目录/下面

#    从根目录开始的叫绝对路径

#   从当前位置开始的叫相对路径

快捷键

tab键 补全命令 最好敲两次
ctrl+c 终止前台运行程序
ctrl+d 退出当前环境
ctrl+a 跳到最前面
history 查看历史纪录
!+   历史记录行数  执行命令
!s   上面第一个字母的命令


1,mkdir 创建目录

2,ls 查看列出文件信息

3,cd 切换目录




mkdir 创建文件目录linux 创建文件夹

[root@localhost ~]# mkdir /data/
#可以同时当前目录创建多个
[root@localhost ~]# mkdir 1 2 3
[root@localhost ~]# ls
1  2  3  anaconda-ks.cfg  install.log  install.log.syslog
#-p 递归创建
[root@localhost ~]# mkdir -p /data/www/log
[root@localhost ~]# ll /data/www/log/ -d
drwxr-xr-x. 2 root root 4096 Jan  1 19:02 /data/www/log/


ls 查看列出文件

[root@localhost ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog
#-l 列形式详细信息
[root@localhost ~]# ls -l
total 40
-rw-------. 1 root root  1069 Jan  1 03:25 anaconda-ks.cfg
-rw-r--r--. 1 root root 23040 Jan  1 03:25 install.log
-rw-r--r--. 1 root root  6240 Jan  1 03:24 install.log.syslog
#-ld 显示目录属性
[root@localhost ~]# ls -ld /data/
drwxr-xr-x. 2 root root 4096 Jan  1 18:58 /data/
[root@localhost ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog


cd 切换目录

#pwd 查看当前所在决定路径  (我在哪里)
[root@localhost ~]# cd /data/www/log/
[root@localhost log]# pwd
/data/www/log
#cd ../ 切换到上级目录
[root@localhost log]# cd ../
[root@localhost www]# pwd
/data/www
#cd - 切换到上次所在的目录
[root@localhost www]# cd -
/data/www/log
[root@localhost log]# pwd
/data/www/log
#cd ~ 切换到家目录
[root@localhost log]# cd ~
[root@localhost ~]# pwd
/root


touch 创建文本文件

[root@localhost log]# touch aa.txt
[root@localhost log]# ls
aa.txt


vi 编辑文件(Linux中的编辑器)

[root@localhost log]# vi aa.txt
a或者i 开始编辑文本
q!不修改强制退出
wq!强制推迟


cat 查看文件内容

[root@localhost log]# cat aa.txt 
aa
bb
cc


echo 打印输出命令

> 重定向 把前边的输出 输入到后面 会覆盖信息(清空原来内容)

>> 追加 不会覆盖信息

<< 把输入的信息输入到前面文件里面

[root@localhost log]# echo aa
aa
[root@localhost log]# touch bb.txt
#将bb.txt 写入bb.txt里面  覆盖里面全部信息
[root@localhost log]# echo "hell bb.txt" > bb.txt 
[root@localhost log]# cat bb.txt 
hell bb.txt
#将hello bb.txt 追加到 bb.txt里面
[root@localhost log]# echo "hello bb.txt" >> bb.txt 
[root@localhost log]# cat bb.txt 
hell bb.txt
hello bb.txt
#还有一种方式写进去
[root@localhost log]# cat >> aa.txt <<EOF
> AA
> BB
> CC
> EOF
[root@localhost log]# cat aa.txt 
AA
BB
CC


cp 复制文件

#拷贝1/cc.txt 到/data/www/log/下
[root@localhost ~]# cp 1/cc.txt /data/www/log/
[root@localhost ~]# ll /data/www/log/
total 8
-rw-r--r--. 1 root root 11 Jan  1 19:18 aa.txt
-rw-r--r--. 1 root root 25 Jan  1 19:15 bb.txt
-rw-r--r--. 1 root root  0 Jan  1 20:41 cc.txt
#拷贝文件目录 加r
#拷贝2目录 到/data/www/log/下
[root@localhost ~]# cp -r 2 /data/www/log/
[root@localhost ~]# ll /data/www/log/
total 12
drwxr-xr-x. 2 root root 4096 Jan  1 20:41 2
-rw-r--r--. 1 root root   11 Jan  1 19:18 aa.txt
-rw-r--r--. 1 root root   25 Jan  1 19:15 bb.txt
-rw-r--r--. 1 root root    0 Jan  1 20:41 cc.txt


mv 移动文件或文件目录

[root@localhost log]# ls
2  aa.txt  bb.txt  cc.txt
[root@localhost log]# mv *.txt ./2/
[root@localhost log]# ll 2/
total 8
-rw-r--r--. 1 root root 11 Jan  1 19:18 aa.txt
-rw-r--r--. 1 root root 25 Jan  1 19:15 bb.txt
-rw-r--r--. 1 root root  0 Jan  1 20:41 cc.txt
-rw-r--r--. 1 root root  0 Jan  1 20:41 dd.txt


rm 删除命令 -rf 不提示删除所有

[root@localhost log]# ls
2
[root@localhost log]# rm -rf 2
[root@localhost log]# ls
[root@localhost log]#

 


grep 过滤

[root@localhost log]# cat aa.txt 
11
22
33
[root@localhost log]# cat aa.txt | grep "11"
11

 | 管道 前个命令输出交给后面处理 一行可以使用多个| 管道

#排除11显示内容
[root@localhost log]# grep -v 11 aa.txt 
22
33
#按行显示内容
[root@localhost log]# grep "11" aa.txt 
11


sed 命令

#过滤出来11
[root@localhost log]# sed -n /11/p aa.txt 
11
#除了11全部显示
[root@localhost log]# sed /^11/d aa.txt  
22
33


awk 过滤出来11

[root@localhost log]# awk /11/ aa.txt 
11

head显示前 tail显示后

head -n aa.txt    -n(行数) 显示头几行

tail -n aa.txt   -n(行数) 显示结尾行数

[root@localhost log]# seq 100 >> aa.txt 
[root@localhost log]# head -3 aa.txt   
1
2
3
[root@localhost log]# tail -3 aa.txt 
98
99
100


查看命令的位置

[root@localhost log]# which cp
alias cp='cp -i'
        /bin/cp
[root@localhost log]#

 


查看别名

[root@localhost log]# which cp
alias cp='cp -i'
        /bin/cp
[root@localhost log]# alias 
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost log]# alias aa='echo "hello.com."'
[root@localhost log]# aa
hello.com.
[root@localhost log]# alias aa='cat "/etc/sysconfig/network-scripts/ifcfg-eth0"' 
[root@localhost log]# aa
DEVICE=eth0
HWADDR=00:0C:29:5A:7E:03
TYPE=Ethernet
UUID=0a75fde7-0364-4b2c-bfa0-73c28aa36930
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

unalias 取消别名

[root@localhost log]# unalias aa
[root@localhost log]# aa
-bash: aa: command not found

以上都是临时生效 修改配置文件才能永久生效

[root@localhost log]# cat ~/.bashrc 
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi


find 查找文件

[root@localhost log]# find / -type f -name "cat"
/bin/cat

查找到文件删除

find / -type f -name "cat" -exec rm -rf {}\;
find /root /-type f -name "*.log" -mtime -5 rm -rf {}\;
#查找 root 下5天内修改的log 全部删除


seq 命令

#输出 1-2
[root@localhost log]# seq 2
1
2
#输出 5-8
[root@localhost log]# seq 5 8
5
6
7
8
#行显示 1+2+3+4+5
[root@localhost log]# seq -s "+" 5
1+2+3+4+5
#倒过来显示数据
[root@localhost log]# seq 1 5 | tac
5
4
3
2
1


查看30-35 head tail方法

[root@localhost log]# head -35 aa.txt | tail -6
30
31
32
33
34
35

显示20-30行 sed awk 方法

[root@localhost log]# sed -n 30,35p aa.txt       
30
31
32
33
34
35
[root@localhost log]# awk '{if(NR>29&&NR<36) print $0}' aa.txt    
30
31
32
33
34
35
NR 行数
$0 显示行数


查看/etc/passwd 第一列的最后五行

[root@localhost log]# awk -F ":" '{print $1}' /etc/passwd | tail -5
saslauth
postfix
sshd
tcpdump
oprofile
[root@localhost log]#


sed 替换命令

[root@localhost log]# echo "linux" >> bb.txt                
[root@localhost log]# cat bb.txt 
linux
把bb.txt 文件的linux改成windows
[root@localhost log]# sed -i s#linux#windows#g bb.txt 
[root@localhost log]# cat bb.txt 
windows
[root@localhost log]#


把所有的bb.txt 文件的windows改成linux

[root@localhost log]# find / -type f -name "bb.txt"
/data/www/log/bb/bb.txt
/data/www/log/bb.txt
[root@localhost log]# find / -type f -name "bb.txt" | xargs sed -i s#windows#linux#g
[root@localhost log]# find / -type f -name "bb.txt" | xargs cat 
linux
linux
xargs 把(find/ls)前面的输出交给后面执行
seq 打印数字echo {1..5}
{}配合echo打印序列
man  查看命令使用方法帮助



作者个人博客:www.021soso.com

百度云盘搜索:http://pan.yunpanos.com   (一直用的搜索视频教程的网站,所以推荐给大家)


你可能感兴趣的:(linux,命令,使用方法)