linux基本命令,目录文件操作

GNU是一个自由软件操作系统—就是说,它尊重其使用者的自由。GNU操作系统包括GNU软件包(专门由GNU工程发布的程序)和由第三方发布的自由软件。GNU的开发使你能够使用电脑而无需安装可能会侵害你自由的软件。

我们很熟悉的Linux就是采用了GPL.GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样.GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售.这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了.

  GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用 GPL协议,既必须也是开源和免费.这就是所谓的“传染性”.GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势.

  由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础.

  最常见的开源协议,使用它作为授权协议的有大名鼎鼎的 Linux .GPL最显著的两个特点就是网上称为的“病毒性传播”和“不允许闭源的商业发布”.

修改网卡
1.修改配置文件名称
/etc/sysconfig/network-scripts/
 名称为:ifcfg-xxx
2.修改配置文件内的 device 和name
3.修改内核参数
vi /etc/sysconfig/grub
quiet 前加入 net.ifnames=0 biosdevname =0
4.更新参数
grub2-mkconfig -o /boot/grub2/grub.cfg
5.重启
shutdown -r now
```

# 远程连接出现异常的排查思路


01. 确保网络链路是否通畅
ping IP地址信息

解决问题:
a. 虚拟网络设置是否正确
b. 虚拟主机网卡设置
c. 虚拟主机系统中网络地址配置
d. 在系统的服务中(window+r->services.msc vmware nat services 是否开启)
e. 确认物理主机上有和虚拟主机相同虚拟网卡信息(地址配置正确)

02. 有你的女朋友阻止你

解决问题:
a. 网络安全服务进行了阻止(iptables firewalld 防火墙服务)


03. telnet 地址信息 服务端口号

解决问题:

a. 确认远程连接服务是否开启
b. 确认服务端口号信息是否发生了变化

关机

shutdown   halt关闭不切电源慎用

poweroff  切电源  init 0

shutdown -h 3  3分钟后关机  

后面加-c可以终止命令

shutdown -r  重启

shutdown -r now

帮助命令 man mannual 帮助手册信息
man 命令信息shutdown
命令帮助信息中, 语法中的中括号信息可有可无

补充说明:有些命令是不能通过man手册获取帮助信息

[root@oldboysh03-znb ~]# man shutdown
SHUTDOWN(8) shutdown SHUTDOWN(8)

NAME 第一个部分:简单说明命令的作用
​ shutdown - Halt, power-off or reboot the machine
​ 暂停; 断电 or 重启服务器

SYNOPSIS 第二个部分:命令使用规范(命令语法)
​ shutdown [OPTIONS...][TIME] [WALL...]

DESCRIPTION 第三个部分:命令的详细描述说明
​ shutdown may be used to halt, power-off or reboot the machine.

OPTIONS 第四个部分:命令的参数说明
​ The following options are understood:

--help
Print a short help text and exit.

-H, --halt
Halt the machine.

快捷键

ctrl + l  清屏

ctrl+ s  锁屏

ctrl +q  退出锁屏

CTRL+ a  光标移到最前方

ctrl+e   光标移到最后方

ctrl+u   光标到行首剪切

CTRL+k 光标到行尾剪切

ctrl+  c  中断命令执行

ctrl +y 粘贴

ctrl+ 方向左右  按照英文单词移动光标

tab  补全

pwd

显示当前路径

cd ..上一级

cd ~家目录

cd / 根目录

   

ls 查看不隐藏的文件

ls -a 查看所有

按照时间反向排序,显示最新创建的数据信息
ls -ltr

创建文件夹

mkdir  路径

路径开头不存在的话  mkdir  -p   路径

创建文件

touch    路径或文件

touch {st1,st2}

4)在空文件中生成据

信息
​ echo 将信息进行输出

强调:在linux系统中,尽量不要输入中文符号信息(命令行)
[root@oldboysh03-znb oldboy]# echo "hello world“
> ^C
[root@oldboysh03-znb oldboy]# ”“”“’‘’‘’》《【】¥¥¥¥()

​ [root@oldboysh03-znb oldboy]# echo hello world
​ hello world

​ # 希望将指定的信息输出到指定文件中
​ [root@oldboysh03-znb oldboy]# echo hello world > /oldboy/oldboy.txt
​ [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt
​ hello world
​ [root@oldboysh03-znb oldboy]# echo oldboyedu.com > /oldboy/oldboy.txt
​ [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt
​ oldboyedu.com
​ [root@oldboysh03-znb oldboy]# echo oldboyedu02.com >> /oldboy/oldboy.txt
​ [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt
​ oldboyedu.com
​ oldboyedu02.com

3)如何查看文件信息
​ cat 查看文件信息命令
​ [root@oldboysh03-znb oldboy]# cat /etc/hosts
​ 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
​ ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

利用cat命令和整合多个文件信息到一个文件中
​ [root@oldboysh03-znb oldboy]# cat oldgirl.txt
​ hello world
​ [root@oldboysh03-znb oldboy]# cat oldboy.txt oldgirl.txt
​ oldboyedu.com
​ oldboyedu02.com
​ hello world
​ [root@oldboysh03-znb oldboy]# cat oldboy.txt oldgirl.txt >olddog.txt
​ [root@oldboysh03-znb oldboy]# cat olddog.txt
​ oldboyedu.com
​ oldboyedu02.com
​ hello world

5)对文件或目录数据信息进行拷贝(复制)
​ copy --- cp
​ 语法格式 cp 参数信息 要进行复制的信息 复制到什么位置

# 将/etc/hosts文件复制到/oldboy目录中

常见问题:
在复制文件时,不要再文件名称后面加上/ 一般只有目录后面有/
[root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy
[root@oldboysh03-znb oldboy]# ll /oldboy/
total 16
drwxr-xr-x. 3 root root 18 Dec 5 09:33 hedanchun
-rw-r--r--. 1 root root 158 Dec 5 10:53 hosts
-rw-r--r--. 1 root root 30 Dec 5 10:17 oldboy.txt
-rw-r--r--. 1 root root 42 Dec 5 10:41 olddog.txt
drwxr-xr-x. 2 root root 6 Dec 5 09:31 oldgirl
-rw-r--r--. 1 root root 12 Dec 5 10:40 oldgirl.txt
[root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy01
[root@oldboysh03-znb oldboy]# ll /oldboy01
-rw-r--r--. 1 root root 158 Dec 5 10:53 /oldboy01

正确复制文件方法
[root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy/
cp: overwrite ‘/oldboy/hosts’? y
说明:文件没有存在会直接复制, 如果已经存在会提示是否覆盖

如何正确复制目录信息
[root@oldboysh03-znb oldboy]# cp /etc/sysconfig/ /oldboy/oldgirl/
cp: omitting directory ‘/etc/sysconfig/’
[root@oldboysh03-znb oldboy]# cp -r /etc/sysconfig/ /oldboy/oldgirl/
[root@oldboysh03-znb oldboy]# ll /oldboy/oldgirl
total 4
drwxr-xr-x. 6 root root 4096 Dec 5 11:03 sysconfig


​ [root@oldboysh03-znb oldboy]# cp -a /etc/ /oldboy/oldgirl/
​ [root@oldboysh03-znb oldboy]# ls /oldboy/oldgirl
​ etc sysconfig

# 对文件或目录数据信息进行剪切(移动)

move -- mv
mv 参数 要移动数据信息 移动到什么位置
移动/etc/selinux/config 到 /oldboy/shanghai/
[root@oldboysh03-znb oldboy]# ls /oldboy/shanghai
ls: cannot access /oldboy/shanghai: No such file or directory
[root@oldboysh03-znb oldboy]# mkdir /oldboy/shanghai
[root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/
[root@oldboysh03-znb oldboy]# ls /oldboy/shanghai/
config


[root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/
mv: cannot stat ‘/etc/selinux/config’: No such file or directory
[root@oldboysh03-znb oldboy]# mv /oldboy/shanghai/config /etc/selinux/
[root@oldboysh03-znb oldboy]# ls /etc/selinux/
config final semanage.conf targeted tmp

可以对文件信息进行重命名操作
[root@oldboysh03-znb oldboy]# ls
hedanchun hosts oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
[root@oldboysh03-znb oldboy]# mv hosts hosts01
[root@oldboysh03-znb oldboy]# ls
hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai

7)数据的删除命令
remove -- rm
rm 参数 要删除的数据信息

# 删除oldboy目录中的hosts01文件
[root@oldboysh03-znb oldboy]# ls
hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
[root@oldboysh03-znb oldboy]# rm hosts01
rm: remove regular file ‘hosts01’? y
[root@oldboysh03-znb oldboy]# ls
hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai

# 删除目录操作
[root@oldboysh03-znb oldboy]# ls
hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
[root@oldboysh03-znb oldboy]# rm shanghai/
rm: cannot remove ‘shanghai/’: Is a directory
[root@oldboysh03-znb oldboy]# rm -r shanghai/
rm: remove directory ‘shanghai/’? y

# 如何强制删除数据信息
[root@oldboysh03-znb oldboy]# rm -f olddog.txt
[root@oldboysh03-znb oldboy]# ls olddog.txt
ls: cannot access olddog.txt: No such file or directory
[root@oldboysh03-znb oldboy]# rm -fr hedanchun
[root@oldboysh03-znb oldboy]# ls hedanchun -d
ls: cannot access hedanchun: No such file or directory

[root@oldboysh03-znb oldboy]# rm -fr / oldboy/oldboy.txt
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe
[root@oldboysh03-znb oldboy]# rm -fr / --no-preserve-root
说明:默认从centos6.7 开始就有/目录自我保护机制
# 文本编辑命令说明

vi == nodepad++
vi 你要编辑的文件信息

# 编辑文件的操作步骤
第一个里程:利用vi命令打开文件
vi oldboy.txt

第二个里程:进入到编辑模式,开始编辑文件
按键盘上 小写字母 i == insert

第三个里程:进行编辑

第四个里程:退出编辑模式
按 esc 进行退出

第五个里程:关闭打开的文件
:wq w-write q-quit 保存退出
:q 不保存进行退出

less+文件名 ##分页浏览,按q退出
head -n 1 文件名 ##显示文件的前1行
tail -n 1 文件名 ##显示文件的后1行
wc -l 文件名 ##查看文件行数
wc -w 文件名 ##查看文件字数
wc -c 文件名 ##查看文件字节数

su - username               ##超户切换到普通用户不用密码,普通用户切换到超户用密码

mkdir -p +目录名 ##递规创建(同时创建文件夹)
rm -f ##强行删除不提示
rm -r ##删除目录,有提示
ls -d directory ##列出目录本身
ls -R ##递规显示目录中的内容
cp -r directory directory1 ##复制目录

bash特性

一、Tab补全

二、查看命令的执行情况

bash通过状态返回值来输出次结果

三、命令行历史

命令历史一般记录在.bash_history文件中,默认记录1000条

四、命令行展开

              ~:当前用户的家目录

               ~USERNAME:  给定用户的家目录        比如cd ~      cd ~ nick 

              {}:可写一个以逗号分割的列表,将其展开为多个路径

               /tmp/{x/{a,b},y,z}  = /tmp/x/a/,/tmp/x,b  ,  /tmp/y/,/tmp/z/

五、快捷键

六、别名

在type一个命令的时候有时候出现像这样的

[root@localhost ~]# type ls
ls is aliased to `ls –color=auto’

ls是 ls–color的别名;

我们可以用alias查看现有的别名信息

我们也可以定义别名

alias   x=‘xx’

给xx命令取别名x(只在当前有效)

以后就可以按x来替代xx

[root@localhost ~]# alias k=’cat -n’
[root@localhost ~]# k /tmp/fstab
1
2 #
3 # /etc/fstab
4 # Created by anaconda on Sat Mar 31 17:44:44 2018
5 #
6 # Accessible filesystems, by reference, are maintained under ‘/dev/disk’
7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
8 #
9 UUID=8c871ca3-ae83-463b-b8af-f282002eae08 / xfs defaults 0 0
10 UUID=f3445f8b-4d91-48b1-9586-d3f991e5f8cf /boot xfs defaults 0 0
11 UUID=3f5344d8-cf5a-4596-9acc-2ecd76cb2bec swap swap defaults 0 0
12 /dev/sr0 /media iso9660 defaults 0 0
13

我们也可以取消别名

用unalias +别名就可以

[root@localhost ~]# unalias k

七、通配

         (1)  *  任意数量的字符 :  0+

                         a*b    a-b之间可以任意数量的字符,可以没有,也可以很多个

       (2)? 任意单个字符   : 1

                        a?b    a-b之间有且一个字符

        (3)[ ]   匹配指定范围内的任意单个字符 :  指定范围  1

                  [0-9] :  0-9之间任意单个字符

                  [a-z]:不区分字符大小写

         (4) [^]  匹配指定范围之外的任意单个字符 : 指定范围之外 1
                  [^0-9]   0-9之外的字符

                 [^a-z]    非大写和小写字母字符

        专用字符集合:(使用的时候需要外加 '[ ]')就像[[:digit:]]
                      [:digit:]:任意数字,相当于0-9

                      [:lower:]:任意小写字母

                      [:upper:]: 任意大写字母

                       [:alpha:]: 任意大小写字母

                        [:alnum:]:任意数字或字母

                         [:punct:]:标点符号

猜你喜欢

转载自www.cnblogs.com/wrqysrt/p/10798423.html