linux系统基本命令

来源:互联网 发布:淘宝美妆店扒皮贴吧 编辑:程序博客网 时间:2024/06/05 16:22

1、用户登录信息

查看电脑是否被别的用户登录:last,who
最近登录的用户
root@Eikis:/public/test# last
root tty1 Sat Oct 1 07:57 still logged in

wtmp begins Sat Oct 1 07:57:06 2016
正在登录的用户
root@Eikis:/public/test# who
root tty1 2016-10-01 07:57
root pts/0 2016-10-01 02:50 (192.168.6.1)

2、系统信息

2.1、查看系统基本信息

root@ltepc39:bin# uname -a
Linux ltepc39 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

2.2、查看发行版本

root@ltepc39:bin# cat /etc/issue
Ubuntu 14.04.4 LTS \n \l

2.3、查看内核版本

root@ltepc39:bin# cat /proc/version
Linux version 4.2.0-27-generic (buildd@lcy01-23) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016

3、文件、目录

3.1、查看目录大小

du 查看一个文件夹的大小(df -h查看磁盘)
du -csh 查看一个文件夹的总大小 -h human readable
du -h 相看文件夹下的所有的文件夹的大小列表

3.2、创建一个文件

touch /public
假如文件不存在,会创建一个文件
如果文件存在,改变文件的时间戳,不会改变文件内容

3.3、创建目录

mkdir /public 在根目录下创建public目录
mkdir dir1/dir2/dir3 -p 创建多级目录
权限
创建文件的最大权限是666
创建文件夹最大权限是777
maxpriority - umask = file or directory priority
文件夹 777 - 022 = 755
drwxr-xr-x 2 root root 4096 Sep 11 09:11 test
文件  666 - 022 = 644
-rw-r--r-- 1 root root 5909 Sep 11 09:11 test.c

3.4、查看文件

1file查看文件类型
2cat查看文本内容(concatenate连接)
-n                 对所有行编号
-b                 对非空白行编号
3、 more逐屏查看文件内容
4、 less逐行查看文本内容
5、 head显示文件开头部分内容(默认显示十行)
-n num显示前n
-v显示文件名
6、 tail显示文件结尾部分内容(默认显示十行)
-n n显示后n
-v显示文件名
-f实时更新(用追加重定向测试)
eg:
head txt //查看文件前10行(默认)
head -n 20 txt //查看文件前20行
head -n15 txt //查看文件前15行
head -c 10 txt //查看文件前10字符
tail txt //查看文件尾10行
tail -n20 txt //查看文件尾20行
tail -c 100 txt //查看文件尾100字符
head -n3 txt | tail -n1 //第三行
head -n4 txt | tail -n2 //第三行,第四行
head -1 txt && head -n3 txt | tail -n1//第一行,第三行

4、时间管理

4.1、查看时间

date
date +%F 查看当前时间
date +%F --date="1 days ago"
date +%F --date="1 day ago"
date +%F --date="1 day"
date +%F --date="1 days"

4.2、设置时间

date -s 2014-07-14   设置当前时间
//date -s 2014/07/14
date -s 11:40     
clock -w        write同步时间
cal 显示日历

ntp时间: ntpdate cn.pool.ntp.org
window的默认ntp时间服务器:time.windows.com

5、常用命令

5.1、查看当前命令的历史

history
history -w 保存当前操作的历史命令  
//  ~/.bash_history
history -c 清除当前操作的历史记录

5.2、若前面已输入过的命令,后续输入可简写

第一次:history
第二次:!his

5.3、内部和外部命令

type command 查看一条命令是外部命令还是内部命令
[root@upl test]# type cd
cd is a shell builtin
cd 是内部命令

[root@upl test]# type mount
mount is /bin/mount
mount 是外部命令
内部命令可以直接访问环境变量,外部命令不可以
查看内部命令集合体
man type

6、语言

6.1、查看当前系统支持的语言

locale
locale -a 查看所有
locale -a | grep zh 查看支持中文件格式

7、远程拷贝(前提ssh要安装)

scp
从本机拷给其它机器
scp direcotry/file 192.168.110.xx:/directory/file
passpwd:
从其它机器拷到本机
scp 192.168.110.xxx:/directory/file /directory/file
注意
这些目录不可以有一个写错
加上用户名:
scp root@192.168.110.xxx:/directory/file /directory/file
cp file1 file2 directory3 file...n directory 将文件或者目录拷到一个目录下但是必须保证最后一个是目录

8、挂载

mount /dev/sdb1 /mnt
ntfs格式
装ntfs包
ntfs-3g /dev/sdb1 /mnt
mount -t ntfs-3g /dev/sdb1 /mnt

9、man手册

Man page
              A、类型(man 7 man)
                            (1) command                                          命令
                            (2) system calls                                 系统调用
                            (3) library calls                                 库调用
                            (4) special files                                 特殊文件
                            (5) file formats and conventions          文件格式及常规
                            (6) games                                                游戏
                            (7) conventions and miscellaneous       常规及杂项
                            (8) system management commands      系统管理命令
                            (9) kernel routines                                   内核相关
 
       B、man  -f  cmd               显示含有该查询名的类型编号
                     man type cmd              类型号码(如果没指定类型将按顺序查询)

10、linux系统运行级别(run level)

0 关机
1 单用户模式,没有网络,没有服务,主动获得root权限
2 多用户模式,有服务,没有网络
3 多用户模式,有服务,有网络,服务器模式
4 保留
5 图形界面,x11
6 重启
配置脚本
/etc/inittab
id:5:initdefault
init 0
shutdown -r +10 10 分钟后重启
shutdown -h now 现在关机
halt 也是关机
halt -p -f 强制关机,直接掉电
reboot 重启
init 6
init + runlevel
ctrl + F2-F7 进入字符界面
ctrl + F1 回复图形界面

11、vim 编辑器

三种模式
命令模式  
末行模式  
插入模式
 
插入模式
补全  ctrl + p
删除整行  ctrl + u

命令模式
命令模式转入插入模式
i 在当前光标前插入
I 在当前光标的行首插入
a  在当前光标后插入
A 在当前光标的行尾插入
o 在当前光标的下一行的开头插入
O 在当前光标的上一行的开头插入

yy 复制一行
4yy 复制从当前光标以下四行
dd 删除一行
4dd 删除从当前光标以下四行
d + 上键 删除当前光标这一行以及上一行
d + 下键 删除当前光标这一行以有下一行
p 粘贴在当前光标所在当行的下一行
P(大写) 粘贴在当前光标所在当行的上一行
r + 所替换的字符  替换掉当前光标的一个字符
可视块
删除
ctrl + v 把需要操作的字符拉黑  +delete 将拉黑的字符删除
添加
ctrl + v 把需要添加的光标拉黑 + I 编辑 + esc
替换
ctrl + v 把需要替换的拉黑+ r + 所需要替换的字符比如:a

粘贴模式
:set paste
退出 : set nopaste

末行模式
:! 强制 相对于超级用户
:w 保存
:q 退出
:wq 保存以及退出  :qw 不行
:x 保存以及退出
:X 对一个文件加密码   不输入密码就是取消
:!<commad> 跳出vim执行<commad>命令
:sh 创建出新的一个shell保存当前编辑状态,操作完之后,用ctrl+d回复当前编辑状态

如何将一个程序掉到后台
ctrl + z 掉到后台停止运行
./a.out & 将一个程序掉到后台执行

查看后台任务
jobs

后台任务掉到前台
fg

查找
/target 查找target对象 从当前光标向下查找
n 向下查找下一个
N 向上查找上一个
?target 向上查找target对象

取消高亮
:nohl ==> no high light

让vim显示行号
set number ==> set nu

让vim不显示行标
set nonumber ==> set nonu

修改vim配置文件
设置行标
vim /etc/vimrc
在空行处写 
set number 或者 set nu

修改tab长度
vim /etc/vimrc
set ts=4

替换
% 所有行 s替换 g 一行所有 c check 检查
:%s/this/that   把所有行的首个this替换成that
:%s/this/that/g 所所有行的所有this替换成that
:14,16s/this/that/g 从第14行到16行的this替换成that
:%s/this/that/gc 检查访问模式替换

12、磁盘分区

以u盘为例
1.先插入需要分区的磁盘
2.解挂所以自动挂载的磁盘分区
umount /media/*
3.D格磁盘
1> 确认磁盘设备节点
fdisk -l 比如:/dev/sdb1 ==》最终用整个磁盘/dev/sdb
2> D格
dd if=/dev/zero of=/dev/sdb bs=1024 count=1
3> 确认D格有无成功
fdisk -l 如果查看不到子分区则成功
4.写分区表
1> fdisk /dev/sdb
a 设置某个分区为活动分区
n 增加一个新的分区
d 删除一个分区
p 打印分区信息
t 改变分区格式
L 打印磁盘格式与对应的ID号 最大0xff
q 退出但是不保存修改
w 写入分区表到磁盘并退出
2> 确认分区信息是否已经写入分区表
fdisk -l
如果获得的分区表信息跟你所分的信息一致。则分区表写入成功
5. 把相应的分区格式 格式式成相应的文件系统格式
1> 查看具体的分区格式
fdisk -l
2> partx -a /dev/sdb
如果查看不到对应的设备节点
ls /dev/sdb*
/dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4
拔出再插入 , 直到可以看到具体的分区设备节点
3> 格式化文件系统
mkfs.vfat /dev/sdb1
mkfs.vfat /dev/sdb2
mkfs.ext2 /dev/sdb3
mkfs.ext3 /dev/sdb4
注意,在linux系统里面,是没有ntfs格式的
6. 拔出再插入,查看自动挂载窗口有没有四个

13、进程管理

13.1、查看当前系统运行的进程

ps -auxf 长 ps -xf 短
查看具体进程:ps -ef | grep wireshar
snapshot snapshot 快照模式

USER   用户信息
PID    进程ID号
%CPU   CPU占用率
%MEM 内存占用率
VSZ 虚拟内存
RSS 真实内存
TTY 是否有控制终端
START 开始时间
TIME 运行时间
COMMAND 运行此进程所执行的命令
STAT 进程状态
D 不可中断的睡眠(深度睡眠)
S 可中断的睡眠
R 真在执行的或者是准备就续的进程
T 暂停的进程
X 死掉的进程(不可见)
Z zombie或者defunct process
< 高优先级
N 低优先级
s session leader
L 页锁
l muti-thread多线程
+ foreground前台运行的 相对于background后台

13.2、监控模式top

可以按h来提供帮助
13.3、杀死一条进程
kill -9 processID
man 7 signal 查看第9号信号
killall或pkill
通过进程名字杀死一个或者多个进程

13.4、pstree

用树的方式相看进程
只能看到父子关系

13.5、kill -l

查看所有信号,其它信号都有可能会给进程所忽略,只有-9才会无条件执行(终止退出),不过init(进程号为1,linux用户级的必须的进程)进程除外。
root@Eikis:test# kill -l
  1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP
 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+1247) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-1055) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX

13.6、pidof 查看进程号

root@Eikis:test# pidof init
1

13.7、实时查看进程的top状态

root@Eikis:test# top -p `pidof "a.out"`

14、重定向

默认情况下是标准输出重定向   清空该文件
echo "hello world" > txt 如果txt不存在,将会被创建
标准出错重定向
echo "hello world" 2> txt
(ls && fjdkslf) 2> txt 只把标准出错重定向
把标准出错和标准输出都重定向
(ls && fjdksfj) &> txt
追加
echo "hello world " >> txt 不会清空该文件
错误追加
(ls && fdkfjdk) 2>> txt
(ls && fdkfdjf) &>> txt

15、linux目录架构

/root 超级用户的家
/home  普通用户的家
/bin 普通用户的命令(把一个可执行文件放置此目录,此执行文件名就是一个命令,但用户的命令一般放置/usr/bin)
/sbin  超级用户的命令
/dev 设备
/etc  配置文件的目录
/net /sys 网络相关  系统相关
/media 自动挂载外设
/mnt  手动挂载外设,网络资源
/misc  自动挂载本机硬盘资源
/proc 自动生成,设备参数
/var 系统日志和服务
/usr 第三软件自动安装目录
/opt 手动安装第三方软件
/selinux SELINUX 防火墙
/lost+found ext2 ext3 ext4 磁盘格式
/boot 内核,grub引导 一盘独立分区

16、linux系统的计划任务

eg:21 16 * * * touch /ABCDEF
分钟 小时 天 月 周 命令
文件名字都以xxx.cron
添加一个计划任务crontab xxx.cron

crontab -l 查看本机的计划任务
crontab -r 删除本机的当前计划任务

开机自动添加计划任务
开机执行脚本
/etc/rc.local

17、压缩、解压

打包 解包
xxx.zip xxx.bz2 xxx.gz aaa.xz
xxx.tar.gz xxx.tar.bz2 xxx.tar.xz

打包
zip xxx.zip xxx
//把xxx打包成xxx.zip
gzip xxx ==> xxx.gz
bzip2 xxx ==> xxx.bz2
xz xxx ==> xxx.xz
解包
unzip xxx.zip ==> xxx
gunzip xxx.gz ==> xxx
bunzip2 xxx.bz2 ==> xxx
xz -d xxx.xz ==> xxx
或者
unxz xxx.xz ==> xxx
复合包
xxx.tar.gz xxx.tar.bz2 xxx.tar.xz
复合包打包(严格)
tar -cf xxx.tar xxx
或者
tar -cvf xxx.tar xxx
//将xxx打包成xxx.tar
//-c create 创建
//-f file 文件
//-v 打包的目录或者解压的目录可以看得到
//-t 查看包的内容
//-x 解压
tar -zcvf xxx.tar.gz xxx
直接将xxx打包成xxx.tar.gz
tar -jcvf xxx.tar.bz2 xxx
直接将xxx打包成xxx.tar.bz2
xz xxx.tar ==> xxx.tar.xz
复合包的解包
tar -xvf xxx.tar ==> xxx
tar -zxvf xxx.tar.gz ==> xxx
tar -jxvf xxx.tar.gz ==> xxx
unxz xxx.tar.xz ==> xxx.tar
tar -xvf xxx.tar ==> xxx

18、配置原件安装的源

18.1、redhat:

服务
yum源查寻
yum search vsftpd
安装
yum -y install vsftpd
删除
yum -y remove vsftpd

//yum 源
ls /var/ftp/pub/rhel-server-6.4-i386-dvd.iso

1.将iso里面的安装包挂出来
mount -o loop /var/ftp/pub/rhel-server-6.4-i386-dvd.iso /mnt
2.确认已经挂载
df -h
[root@www pub]# df -h
文件系统 容量 已用 可用 已用%% 挂载点
/var/ftp/pub/rhel-server-6.4-i386-dvd.iso
3.0G 3.0G 0 100% /mnt
//配置yum源的角本
// /etc/yum.repos.d/xxxx.repo
// 名字 xxxx可以随便写,但是结尾一定要 .repo
// 最好保证里面只有一个xxxx.repo
3.vim /etc/yum.repos.d/xxxx.repo
[xxxx] //yum源的主题
baseurl=file:///mnt/
enabled=1 //开启yum源服务
gpgcheck=0 // 检查密钥
4.yum clean all // 清yum源的缓存
yum list
如果成功 之前配置的主题
//-------------------------------------

//本地非挂载

1.mount -o loop /var/ftp/pub/rhel-server-6.4-i386-dvd.iso /mnt
2.echo $? 如果是零就OK 或者 df -h 看一下是否有挂载
3.mkdir /yum
4.cp /mnt/* /yum/ -r
5.vim /etc/yum.repos.d/xxxx.repo
[xxxxx]
baseurl=file:///yum/
enabled=1
gpgcheck=0
6.yum clean all
7.yum list

//做一个yum源的服务器

//ftp
服务端
1.yum源发布出去
/var/ftp/pub
2.mkdir /var/ftp/pub/yum
3.cp /yum/* /var/ftp/pub/yum -r
4.service vsftpd restart
客户端
vim /etc/yum.repos.d/server.repo
[xxxx]
1.先测试服务端的yum源路径
打开firefox ftp://192.168.110.xxx
baseurl=ftp://192.168.110.254/pub/rhel6.4_32/
enabled=1
gpgcheck=0
2.yum clean all
3.yum list

18.2、ubuntu

默认的在线源
root@Eikis:test# vim /etc/apt/sources.list
常用命令:apt-get update
apt-get install XXX


1 0
原创粉丝点击