linux基本命令

linux常用命令

基础命令

pwd 显示当前路径
cd 进入目录
ll ls ls-l 列出目录的文件
cd ~ cd - cd .. cd ../..
history 显示历史命令
man cmd 显示命令详情
cmd —-help
info cmd
clear terminal 界面清空

查看信息

  1. cat /proc/cpuinfo 查看cup信息
  2. cat /proc/meminfo 查看内存信息
  3. cat /etc/redhat-release 查看发行版本
[root@zbq ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
  1. uname -a 查看所有系统信息
[root@zbq ~]# uname -a
Linux zbq 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
  1. uname -s 查看内核信息
[root@zbq ~]# uname -s
Linux
  1. uname -m 查看机器信息
[root@zbq ~]# uname -m
x86_64
  1. free 查看内存信息
[root@zbq ~]# free
             total       used       free     shared    buffers     cached
Mem:       3918936     472352    3446584          0      20892     186816
-/+ buffers/cache:     264644    3654292
Swap:      2097144          0    2097144
  1. ifconfig 查看所有网卡的ip信息 ifconfig eth0
  2. ps -ef 显示系统当前所有进程
  3. ps -aux 显示系统当前所有进程
  4. top 监控服务器的资源动态使用情况
  5. pstree 进程树 pstree -p 查看带有进程号的进程树
[root@zbq ~]# pstree 
init─┬─NetworkManager
     ├─abrtd
     ├─acpid
     ├─atd
     ├─auditd───{auditd}
     ├─automount───4*[{automount}]
     ├─bonobo-activati───{bonobo-activat}
     ├─certmonger
     ├─console-kit-dae───63*[{console-kit-da}]
     ├─crond
     ├─cupsd
     ├─2*[dbus-daemon───{dbus-daemon}]
     ├─dbus-launch
     ├─devkit-power-da
     ├─gconfd-2
     ├─gdm-binary─┬─gdm-simple-slav─┬─Xorg
     │            │                 ├─gdm-session-wor
     │            │                 ├─gnome-session─┬─at-spi-registry
     │            │                 │               ├─gdm-simple-gree
     │            │                 │               ├─gnome-power-man
     │            │                 │               ├─metacity
     │            │                 │               ├─plymouth-log-vi
     │            │                 │               ├─polkit-gnome-au
     │            │                 │               └─{gnome-session}
     │            │                 └─{gdm-simple-sla}
     │            └─{gdm-binary}
     ├─gnome-settings-───{gnome-settings}
     ├─gvfsd
     ├─hald─┬─hald-runner─┬─hald-addon-acpi
     │      │             └─hald-addon-inpu
     │      └─{hald}
     ├─irqbalance
     ├─5*[mingetty]
     ├─modem-manager
     ├─mysqld_safe───mysqld───15*[{mysqld}]
     ├─nginx───8*[nginx]
     ├─polkitd
     ├─pulseaudio───2*[{pulseaudio}]
     ├─rpc.statd
     ├─rpcbind
     ├─rsyslogd───3*[{rsyslogd}]
     ├─rtkit-daemon───2*[{rtkit-daemon}]
     ├─sshd───sshd───bash───pstree
     ├─udevd───2*[udevd]
     └─wpa_supplicant
  1. kill -2055 pid 杀死进程ID为2055 的进程
  2. pipe管道的用法
    管道:|
    cmd1 | cmd2 将cmd1输出结果交给cmd2命令来执行
rpm -qa | grep nc-1.84
nc-1.84-22.el6.x86_64
[root@zbq ~]# ll /etc/yum.repos.d/ | grep qf.repo
-rw-r--r--. 1 root root   86 Sep  6 18:52 qf.repo
[root@zbq ~]# echo this is a example | grep -o "x"
x
  1. linux中常见目录:
    /bin/sbin:二进制的可执行文件
    /etc : 操作系统的配置目录
    /home : 除root用户外的普通用户的家目录
    /root : 超级用户root的家目录
    /opt : 用户的安装软件摆放目录
    /var : 存储经常变化的文件(log日志文件)
    /tmp : 系统的临时存储目录(不受用户控制)
    /lib /lib64 : 操作系统依赖库和扩展
    /mnt : 挂载目录
    lost+found : 系统崩溃异常原因

  2. date 查看服务器的时间
    date -s "2018-09-02" :设置日期
    date -s "2018-09-03 16:45:36" :设置时分秒

echo `date -d "0 days ago" "+%Y-%m-%d %H:%M:%S"`
```  格式化日期```
18. 查看目录使用情况




<div class="se-preview-section-delimiter"></div>

[root@zbq ~]# du -h -s /home
4.5G /home

19. 制作软连接 `ln -s 源文件 目标文件`
20. 硬链接  `ln oldfile newfile`
 由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
* 文件有相同的 inode 及 data block;
* 只能对已存在的文件进行创建;
* 不能交叉文件系统进行硬链接的创建;
* 不能对目录进行创建,只可对文件创建;
* 删除一个硬链接文件并不影响其他有相同 inode 号的文件。




<div class="se-preview-section-delimiter"></div>

## 磁盘U盘操作
1. `mkfs.ext4 /dev/sdb1`    //格式化硬盘分区
2. `fdisk -l`    `fdisk -l /dev/sda3` 查看磁盘分区 
 `fdisk /dev/sda3 `: 对分区进行操作
3. 挂载
mount : mount 分区  目录 : 挂载(将磁盘对接到某个目录)
`mount -t vfat /dev/sdb1 /mnt/zbq`
 unmount : 卸载
`umount /mnt/zbq`
4. 文件系统修复
`fsck -y  /dev/sda1 `  (修复的可以是分区可以是目录,最好在单用户模式下使用)
5. linux文件格式
`ext4  ext3   ext2   vfat(fat32)`




<div class="se-preview-section-delimiter"></div>

## 账户与组的操作
1. `/etc/passwd`    //保存账户的信息 `/etc/group`  保存组信息
账户
    超级账户    root  uid = 0
    系统账户          uid = 1 ~ 499
   普通账户       uid > = 500
2. `/etc/shadow`    //保存账户密码信息
3. 添加和删除用户
`useradd `
`[root@zbq zbq]# useradd newadmin`
-u  指定uid
    -d  指定家目录
    -s  指定使用shell
    -e  指定用户过期时间
   -g   指定基本组,只在指定组中,不会再默认自己的组
    -G  指定附加组,并且也会在自己的组中
4. 添加用户newadmin到 manager组中




<div class="se-preview-section-delimiter"></div>

[root@zbq zbq]# gpasswd -a newadmin manager
Adding user newadmin to group manager

创建用户
`useradd -g manager newadmin`
`useradd -G manager newadmin`
5. 查看用户所在的组 `groups newadmin`




<div class="se-preview-section-delimiter"></div>

[root@zbq zbq]# groups newadmin
newadmin : newadmin manager

6. 将newadmin 移除manager 组




<div class="se-preview-section-delimiter"></div>

[root@zbq zbq]# gpasswd -d newadmin manager
Removing user newadmin from group manager

7. 更改密码
`passwd newadmin` 




<div class="se-preview-section-delimiter"></div>

[root@zbq zbq]# passwd newadmin
Changing password for user newadmin.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.

`echo "root" | passwd --stdin root`
8. `usermod -L newadmin` 锁定用户不让其登录 `usermod -u newadmin`解9. `userdel newadmin` 删除用户  `userdel -r newadmin`递归完全删除
10. `su newadmin` 切换用户
11. `whoami` 显示当前登录的用户
12. `groupdel g1` : 删除组
13. `id 用户名`:查看用户的id
14. `groupadd manager`




<div class="se-preview-section-delimiter"></div>

## 文件操作
1. 目录操作




<div class="se-preview-section-delimiter"></div>

cd : 当前用户的家目录
cd - :回退到上一次所在位置
cd ~ :当前用户的家目录
cd ../ :回退到上一层目录

 2. `pwd` : 查看当前所在位置
 3. 创建目录:




<div class="se-preview-section-delimiter"></div>

mkdir test
mkdir ./test
mkdir /home/test 绝对位置
mkdir ./test/a1 ./test/a2 创建多个
mkdir ./test/qf/1813
mkdir -p ./test/qf/1813 : 递归创建

4. 查看文件:




<div class="se-preview-section-delimiter"></div>

cat -n /var/log/messages :一次性将文件从前往后读完
-n :带行号
tac /var/log/messages : 倒着显示
more /var/log/messages : 从前往后按百分比来读取文件内容(不能往回查看)
less /var/log/messages :从前往后按百分比来读取文件内容(可以往回查看)
head /var/log/messages : 默认查看前10行
head -100 /var/log/messages : 从前往后查看一百行
tail /var/log/messages : 默认从后往前看10行
tail -100 /var/log/messages
tail -f /var/log/boot.log :动态监控文件最新变化

5. 创建文件




<div class="se-preview-section-delimiter"></div>

touch
echo >

6. 编辑文件




<div class="se-preview-section-delimiter"></div>

vi
vim
nano
echo “” > / >>

7. 列出目录




<div class="se-preview-section-delimiter"></div>

ls -h
ll <=> ls -l -h
ll -a : 查看所有文件

8. 复制文件与目录




<div class="se-preview-section-delimiter"></div>

cp ./aa ./cc ./a1/ 复制多个
cp -r ./a1/ ./qf/ : 复制目录需要加-r (递归)

9. 移动文件




<div class="se-preview-section-delimiter"></div>

mv ./123 ./qf/ : 移动123到qf目录
mv ./aa ./qf/aaa : 移动aa到qf目录并重命名为aaa
mv ./qf/ ./a2/ : 移动目录不需要加-r来递归移动

10. 重命名文件




<div class="se-preview-section-delimiter"></div>

mv可以实现重命名
rename .jsp .html ./*.jsp
rename .html .jsp ./test/*.html

11. 删除文件与目录




<div class="se-preview-section-delimiter"></div>

rm ./a2/aa : 删除aa单个文件
rm -r ./a2/ : 递归删除a2目录中每一个文件,会给提示是否删除
rm -rf ./a2 : 递归强制删除一个目录

12. 解压压缩文件
1.使用tar 压缩后的文件后缀为 .tar
`tar -zcvf ./XXX.tar ./XXX ./test.txt`  打包 ./XXX 目录和test.txt为XXX.tar
`tar -zxvf ./xxx.tar -C ——`   解包xxx.tar 到指定路径
2.使用zip和unzip 压缩后的文件后缀为 .zip




<div class="se-preview-section-delimiter"></div>

zip
unzip
zip ./test.zip ./index.jsp ./test : 将./index.jsp ./test打包到test.zip中
unzip ./test.zip : 解压到当前目录
unzip ./test.zip -d ./wyl/ : -d解压zip包到指定的目录

3.使用gzip和gunzip 压缩后的文件后缀为 .gz
不支持对目录进行压缩,如果要压缩,要先打包在压缩
gzip -d 解压缩
giunzip 是 gzip -d的硬链接




<div class="se-preview-section-delimiter"></div>

gzip
gunzip
gzip ./ : 压缩当前目录中的所有的文件,并且后缀都是.gz
gunzip ./* : 解压当前目录下所有被gzip压缩的文件
gzip -c ./index.jsp > ../index.jsp.gz : 压缩到指定的位置 保存源文件
gunzip -c ../index.jsp.gz > ./
gunzip -c ../index.jsp.gz > ./index.jsp
gunzip -c ./test.tar.gz > ./test.tar

13.shell命令起别名
`vi /etc/bashrc`
在文件最后一行添加
`alias cls=‘clear’`
保存退出后输入 `source /etc/bashrc` 生效




<div class="se-preview-section-delimiter"></div>

## 权限管理
-rw-r--r--. 1 root root 0 Sep  7 12:33 1.html
-rw-r--r--. 1 root root 0 Sep  7 12:33 2.html
-rw-r--r--. 1 root root 0 Sep  7 12:33 3.html
-rw-r--r--. 1 root root 0 Sep  5 10:28 zbq
u   g  o     用户  用户所属的组
u:创建文件的用户的权限
g:同组的用户的权限
o:其他的用户

第一位:
 d:目录
 -:文件
 l:软连接
 c:

 权限表示(八进制数据表示):
 r:4
 w:2
 x:1

写权限:
创建文件、创建目录、删除、cp、mv、tar等往某一个目录下新增需要写权限。
读:
查看文件内容、编辑文件、列出目录列表、cp等操作。
执行:
可执行的脚本或者命令 

修改权限:




<div class="se-preview-section-delimiter"></div>

chmod 646 ./cc
chmod o+w ../test
chmod o-r ./dd : 去掉dd其它人读的权限
chmod a+x,g+w,o+r ./dd
chmod 640 ./dd
chmod a=rwx ./dd
chmod -R a+x ../test/ :递归修改
chmod -R a-x /home/test/ : 递归删除执行权限

错误:Permission denied (查看当前操作文件或者是父目录)




<div class="se-preview-section-delimiter"></div>

chown gj:gj ./* :将权限和组修改成gj
chown root ./* : 将权所属者修改成root
chown :root ./* : 将所属组修改成root
chgrp gj ./* : 将所属组修改成gj
chgrp -R root ../test : 递归将文件夹中所有文件的用户都修改成root
所有权限、所有者、所属组的修改必须是root或者所属者才能操作。





<div class="se-preview-section-delimiter"></div>

## 查找
`which` 查找二进制可执行的文件的命令
`whereis` 查找文件名或是目录中含有—字符串的文件或者目录
定位整个路径中含有某个字符串的文件或者目录(locate)
`locate aaa | grep “home/test/aaa”`
`locate mysql 发现找不到 ,需要更新数据库 updatedb`
`find / -name aaa` 在根目录下根据名称来查找aaa
`find /home/test -name aaa` 在制定路径下按照名称查找aaa




<div class="se-preview-section-delimiter"></div>

## 别名
`alias cle=‘clear’` 设置别名 ,临时的
`vi ~/.bashrc` 在此文件配置永久的别名 添加内容 `alias cle=‘clear’`
`unalias cle` 取消别名




<div class="se-preview-section-delimiter"></div>

## 服务器操作
`service iptables start` 开启防火墙
`service iptables stop` 关闭防火墙
`service iptables restart` 防火墙重启动
`sercice iptable status` 查看服务器状态

检查服务是否开机启动
`chkconfig iptables —-list`  列出每个级别的开闭状态
`chkconfig iptables —-on` 开机自启动
`chkconfig iptables —-off`  开机自启关闭
`chkconfig iptables —-level 35 on ` 开启3 5 级别的自启




<div class="se-preview-section-delimiter"></div>

## 配置网络参数
`vi /etc/sysconfig/network-scripts/ifcfg-eth0`




<div class="se-preview-section-delimiter"></div>

DEVICE=eth0
HWADDR=00:0C:29:0F:84:86 #此参数根据mac地址
TYPE=Ethernet
UUID=70d880d5-6852-4c85-a1c9-2491c4c1ac11
ONBOOT=yes
IPADDR=192.168.216.111 #设置自己可用的网段
PREFIX=24
GATEWAY=192.168.216.2
DNS1=8.8.8.8 #查看可连接外网的dns 并自己添加正确的参数
DNS2=114.114.114.114
NM_CONTROLLED=yes
BOOTPROTO=static
DEFROUTE=yes
NAME=”System eth0”
“`

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值