liunx常用命令

所有命令都可以 xx --help来查询命令

1、setup :进入设置中心,可设置身份验证配置,和防火墙配置、键盘配置、系统服务配置
2、service network restart : 改变网卡设置保存后要重启网卡服务。
3、init 3 :能使CentOS可视化界面的命令行进入到真的命令行
子网掩码和 静态ip地址进行与运算,可获得网关地址。
4、ls :显示目标列表。 ls(选项)(参数:指定显示列表的目录,path or file)

    * ls   -m :水平输出文件列表
    * ls   -l :垂直输出文件列表详细信息
    * ls   -t :显示最近修改的文件在最前面
    * ls   -R :递归显示所有文件
    * ls    -a : 显示隐藏目录
    * ls   -lh  :列排显示可读文件和文件夹大小k; 和 ll  -k差不多,但是不显示k。

5、date : 查看当前系统是时间 ->Mon Nov 6 09:18:28 CST 2017
* date +%Y-%m-%d :-> 2017-11-06
* date +%Y-%m-%d --date="-1day" ->2017-11-05 加减也可以month | year
* date -s "2016-05-22" #设置时间,重启后不生效,重启后的时间是根据主板的时间,想要修改系统时间就需要再继续写 hwclock -w 就能把设置的时间设置到bios上 (hardwareclock -write)
6、who : 服务器当前的登录用户
history:显示当前使用过的命令
7、pwd : 当前所在的目录
8、关机(必须是root用户):
* shutdown -h now ## 立即关机
* shutdown -h +10 ##10分钟以后关机
* shutdown -h 12:00:00 ##12点整关机
* halt ##立即关机
9、重启:
* shutdown -r now ## 重启
* reboot ## 重启
10、清屏:
* clear 或者快捷键 ctrl + l
11、退出程序:
* ctrl + c
12、挂起当前进程:
* ctrl + z ## 程序挂载到后台运行
* bg jobid ## 让进程在后台继续执行
* fg jobid ## 让进程在回到前台
13、echo : 相当于 java中的 System.out.println(xxx)
13、 service sshd status ## 查看当前ssh服务状态,若没开,则无法使用ssh连接
service sshd restart ## 重启linux的 ssh服务器,他默认监听的是22端口
14、工作目录切换:
* cd /home/gaochao ## 切换到xx 目录
* cd / ##切换到根目录
* cd ~ ##切换到用户目录
* cd ## 什么路径都不带就返回到用户主目录
* cd - ## 返回到上一个路径

---------------------------文件操作命令-----------------------------------
15、创建文件夹
* mkdir aaa ## 相对路径创建 aaa 文件夹
* mkdir /home/gaochao/bbb ## 绝对路径创建 bbb文件夹
* mkdir -p aa/bb/cc ## 联级创建目录

16、删除文件夹
* rmdir aaa ## 删除文件夹(只能删除空的文件夹)
* rm -r aaa ## 递归删除aaa文件夹所有,需要询问
* rm -rf aaa ## 递归删除aaa文件夹所有,不用询问

17、修改移动文件夹 mv 本质上是移动
* mv aaa bbb ## 将aaa文件夹移动到当前目录的bbb文件夹下,若bbb不存在则将aaa文件名改为bbb
* rename 正则匹配批量更改文件名 : rename .txt .txt.bat * ( 正则要匹配的 ,要改成的 ,*表示所有文件)

18、创建文件:
* touch aa.txt ## 创建aa文件,liunx中的后缀名意义不大。给用户看而已
* ls -a > 1.txt ## >重定向,将输出结果重定向1.txt中。 >> 则是追加

19、拷贝文件:
* cp aa.txt /home/gaochao ## 拷贝到gaochao文件夹下, 若后面跟文件名,则更改了文件名eg:cp aa.txt /home/gaochao/bb.txt
* mv aa.txt /home/gaochao ## 移动 aa.txt 到gaochao文件夹下
* rm -rf xx.txt ## 移除文件

20、查看文件内容:
* cat aa.txt ## 把文件内容一次输出到控制台,看小文件
* more aa.txt ## 分页查看文件内容 (空格 --下一页)(b--上一页)(q [ ctrl+c ]---退出)
*** less aa.txt ## 分页查看文件内容 (空格 --下一页)(b--上一页)(↑ 上翻一行)(↓下翻一行)(G--跳到末行)(gg--跳到首行)(/keyword --搜索关键字用n找下一个关键字)(q--退出)
* tail -10 aa.log ## 查看文件的最后十行
* tail +10 aa.log ## 查看文件10行到尾行
* tail -f aa.log ## 实时根据inode跟踪文件。即便文件改名字了也能跟踪到。
* tial -F aa.log ## 实时跟踪文件,根据文件名跟踪。
* head -10 aa.log ## 查看文件头部10行

21、压缩解压命令:
* 压缩有不同的压缩格式,常用的开源压缩格式为gzip: gizp aa.txt 会压缩源文件
* 解压命令: gzip -d aa.txt.gz 还一种压缩格式是bzip2

22、打包、解包命令:
* 打包命令:tar -cvf xx.tar 1.txt 2.txt aaa ## 打包成一个xx.tar包(c为创建)
* 解包命令:tar -xvf xx.tar ## 解包(x抽取,v进度,f文件)
* 最常用的打包压缩:tar -zcvf xx.tar.gz 1.txt 2.txt aaa ## 打包同时以gzip格式压缩
* 最常用的解压: tar -zxvf xx.tar.gz ##解压文件到当前文件夹
tar -zxvf xx.tar.gz -C /home/gaochao/Desto/aa ##解压到aa文件夹下面
* 查看压缩包内容:tar -ztvf xx.tar.gz

  *** 若为  tar.xz 文件:
    创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz
    解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。

23、查找可执行文件(命令)的所在文件路径:
* which ls ## 查找ls命令位置 /bin/ls
* whereis ls ## 查看文件位置,将ls相关的文件位置都找出来

24、查找文件
* find / -name "aa.txt" ## 在根目录下查找名为aa.txt的文件路径
* find / -name "*.txt" -ls ## 在根目录下查找以.txt文件名结尾的文件路径并显示详细信息

25、查找文件内容:
* grep keyword /etc/passwd ## 查找passwd文件中的有keyword关键字的行
* grep aaa ./*.txt ## 查找当前目录下的所有txt文件中找 有aaa 关键字的行
* grep -v keyword /etc/passwd ## 查找passwd文件中不包含 keyword关键字的行,也可以用正则: grep '[^keyword]' /etc/passwd

26、windows远程上传下载linux系统的文件:
* rz ## 远程上传文件到 linux 会调开windows的文件系统,选择即可
* sz ## 从linux主机上下载文件到windows

---------------------------------------------------vim 编辑器-----------------------------------------------------------------
1、vi编辑器有三种模式:命令模式、文本输入模式、末行模式。
进入文本输入模式: i (当前光标位置插入) a(当前光标后一位插入)o(当前光标下一行插入)
命令模式下:
* gg ## 跳到顶部
* G ## 跳到底部
* dd ## 删除光标所在一行
* 3dd ## 删除光标所在往下3行。不够就不删了
* yy ## 复制一行
* 3yy ## 复制三行
* p ## 粘贴复制的内容
* u ## undo 撤销
* v ## 进入字符选择模式,选择完成后按 y 复制,按 p 粘贴
* ctrl + v ## 进入块选择模式,选择完成后按 y 复制,按 p 粘贴
* shift + v ## 进入行选择模式,选择完成后按 y 复制,按 p 粘贴

   末行模式:(进入末行模式 :)
            :set   nu 显示行号 ## set number  也可以
             :  set  nonu 隐藏行号  
            :/lover   ## 查找lover关键字定位到第一个,然后按 n  定位到下一个N 定位到上一个
            :s/lover/ever   ## 查找当前光标所在行第一个lover 并且替换成ever
            :%s/lover/server   ## 查找文档中每行第一个的lover 并且替换成server

---------------------------------------文件权限-------------------------------------------------------
1、 -rw-r--r--. 1 root root 278 Nov 7 00:13 2.js
* - 代表文件类型 , - 表示文件、 d 表示文件夹 、l表示软连接
* rw- 第一组表示当前用户u所属权限,第二组表示同组用户g对此文件的权限,第三组表示不同组用户o所拥有的权限,
* root 第一个表示所属用户,第二个表示用户组名

2、修改文件权限的方式
* chmod 777 2.js ## 通过二进制把 u、g、o都改成rwx权限
* chmod 600 2.js ## 把此文件改成 -rw------- 权限
* chmod u+rw ## 把u加上r 和w权限
* chmod g-r ## 给g组减去r权限
* chmod -R 660 aaa ## 递归给aaa文件夹及子文件修改成 rw-rw---- 权限

3、修改文件所属用户和用户组(只能修改当前用户的文件)
* chown root:root 2.js ## 更改 2.js文件所属用户为root用户,其他用户即无法操作

4、用户管理 (在/etc/passwd文件)

   -   ①添加用户
        *  useradd gao  ## 添加一个用户
        *  password  gao  ## 根据提示设置密码
        *  userdel   -r  gao   ## 删除用户gao 加了-r  就会删除用户以及用户主目录。
        *  useradd -g users  -c " hr" gao ## 添加一个gao用户,在users组内,描述信息为“hr”
   -   ②修改用户
        *  usermod  -l  gaochao  gao  ## 修改gao用户的登录名为  gaochao
        *  usermod -G sys,root  gaochao   ## 把gaochao添加到sys和root用户组
        *  groups  gaochao  ## 查看gaocho组的信息     
   -    ③添加用户组
        *  groupadd  users  ## 添加用户组users
        *  usermod  -g  users  gao  ##  将用户gao添加到用户组users组中
        *  gpasswd -d  gao users  ## 将用户gao从users组中删除
        *  groupmod -n  user  users  ## 将用户组名从users改为user

5、 为用户添加sodu权限:
用root 编辑 vi /etc/soduers 在文件的位置为 root ALL=(ALL) ALL,在下面添加一个
gaochao ALL=(ALL) ALL 即可用户就可以使用sodu来执行管理员操作。若填写的是gaochao ALL=(/sbin/useradd) ALL 则只能使用sodu 来执行用户添加命令,其他不支持

--------------------------------------------系统管理操作---------------------------------------------------
1、挂载外部存储设备(可以挂载光盘、硬盘、磁带、光盘镜像文件等等)
2、挂载光驱:
mount -t iso9600 -o ro /dev/cdrom /mnt/cdrom ## 将设备/dev/cdrom 挂载到 挂载点:/mnt/cdrom 中

3、挂载光盘镜像文件(iso文件):
mount -t iso9600 -o loop /home/gaochao/Desktop/CentOS.X86 /mnt/centos
4、卸载umount
umount /mnt/centos
5、存储空间查看
df -h
6、查看当前文件夹内各个文件和文件夹的大小
du -sh *

7、系统服务的管理:
* service --status-all ## 查看所有进程的状态
* service ssh status ## 查看指定进程的状态
* service ssh start ## 启动
* service ssh stop ## 停止
* service ssh restart ## 重启
8、配置后台服务的进程开机自启
chkconfig httpd on ## 让httpd 服务开机自启
chkconfig httpd off ## 让httpd 服务开机不要自启
chkconfig --level 35 httpd on ## 在3、4级别自启

9、系统启动级别:
vi /etc/inittab
# 0 - halt ( Do Not set initdefault to this)
# 1 - Single user mode (单用户模式)
# 2 - Multiuser,without NFS( The same as 3,if you do not hav networking)
# 3 - Full multiuser mode ( 全功能多用户字符界面)
# 4 - unused
# 5 - X11 (全功能多用户图形化界面比3多了图形化)
# 6 - reboot (Do Not set initdefault to this)
id:3:initdefault: ## 配置默认启动级别

 因此我们可以使用 init 3 进入字符界面, init 0 关机,init6 重启

10、进程管理:

    *  top   ## 显示使用资源,还实时显示进程
    *  free  ## 显示使用资源
    *  ps -ef |  grep ssh   ## 显示进程,过滤出来ssh的进程
    *  kill -9  pid  ## 将制定的pid 杀死 

---------------------------------------------linux文件作用---------------------------------------------------
1、 /etc/profile ## 此文件是系统环境配置文件
2、 /etc/sudoers ## 给用户添加sodu权限
3、 /etc/passwd ## 所有用户文件
4、 /mnt ## 挂载硬件设备(映射成文件)所放的文件夹,开始为空的
5、 /etc/inittab ## 系统启动级别设置文件
6、 /etc/sysconfig/network ## 可以配置主机名
7、 /etc/hosts ## host文件
8、 /etc/sysconfig/network-scripts/ifcfg-eth0 ## ip配置文件
9、 /etc/httpd/conf/httpd.conf ## 静态服务器配置文件

--------------------------------------------SSH免密登录配置-------------------------------------------
1、若是linux系统之间免登陆:

    ①、若 A 想免密访问 B:则 在A的root用户使用命令  ssh-keygen 生成一个秘钥和公钥。
    ②、使用SSH协议的工具箱有个发送工具 scp  xx/id_rsa.pub   192.168.33.11:/root/   然后输入目标系统的密码。然后再将这个文件添加到授权池就可以。或者直接使用命令  ssh-copy-id  192.168.33.11 即可发送文件并且添加到授权池。
    ③、使用连接 ssh 192.168.33.11即可免密登录了。

2、若是xshell工具免登陆:

    ①、使用xshell创建秘钥,使用 rz 命令传送保存的 id_rsa.pub公钥。
    ②、将xshell传来的id_rsa.pub公钥文件内容追加到authorized_keys文件中,cat id_rsa.pub >> authorized_keys   
    ③、然后更改此文件的权限  chmod 600 authorized_keys
    PS:
         -   要确保目录 .ssh 属于当前用户并且权限是700

         -   确保文件 authorized_keys 属于当前用户并且权限是600

         -  /home/user 目录也必须是700!!!如果你用root改过它权限,也会导致登陆不了

------------------------------------------------网络管理---------------------------------------------------
1、 查看主机名:
hostname
2、修改主机名:(重启无效,只修改了内存的,没改配置文件)
hostname gao
3、 修改配置文件的主机名:(重启有效)
vi /etc/sysconfig/network
4、域名映射:
/etc/hosts 文件 用于通过主机名进行访问时做ip地址解析之用。
5、ip地址的修改:
方式一:界面修改
setup 进入到一个软件,不一定都有
方式二:改配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
方式三:临时改重启无效
ifconfig eth0 192.168.33.12 (不常用)

6、网络服务管理:
* service network status ## 查看网络连接状态
* service network stop/start/restart ## 停止/启动/重启 服务

7、设置网络服务自启配置:
* chkconfig 查看所有服务器自启配置
* chkconfig iptables off 关掉防火墙自启动(不立即生效,重启后生效)
* 开启防火墙: service iptables start (重启后不生效)
* 关闭防火墙: service iptables stop (重启后不生效)

8、查看进程监听的端口:

      *  netstat -nltp  查看进程监听的端口 

9、linux上有个静态服务器:httpd 服务,开启服务后要关闭防火墙才能访问,开启httpd服务的2种方式
* chkconfig httpd on 开机自启httpd服务,可以先使用chkconfig --list 查看当前状态,更改后不立即生效,要重启
* service httpd start 立即生效,重启无效
静态文件存放的目录是在 /var/www/html 里面 配置文件是: /etc/httpd/conf/httpd.conf

10、防火墙管理配置:(有4张表,我们用的只有一张)

     配置文件:/etc/sysconfig/iptables
     查看防火墙的状态: service iptables status
     列出防火墙的规则:iptables -L -n 
     添加一条规则:

你可能感兴趣的:(liunx常用命令)