linux命令

简介:

 

linux命令

linux系统以文件形式访问设备

linux内核分为进程调度,内存管理,虚拟文件系统,进程间通信等4个子系统

查看:ls -l
查看当前目录:pwd

切换目录:cd

创建目录:mkdir

删目录:rmdir
文件:file
创文件:touch
复制:cp
删:rm
移动文件路径:mv                  (如果在同一目录下则是改名)
查找:find
查看文件:cat
分屏显示:more
分屏显示可回滚:less
头:head
尾:tail

挂光盘:mount   /dev/cdrom /media/cdrom

卸光盘:umount /dev/cdrom  /media/cdrom

向文档123中写内容:echo  "1111"   >>  123
查看分区:fdisk     -l

fdisk   /dev/sdb

格式化sdb1:mkfs -t ext3  /dev/sdb1

做镜像:cp   /dev/cdrom     123.iso

挂镜像:mount -o loop 123.iso     /media/cdrom

查看ip:ifconfig   eth0

设置ip:ifconfig eth0 192.168.1.1   network  255.255.255.0

关闭防火墙:service iptables stop
查看前4行:head -4   /etc/passwd

添加用户:adduser
删除用户:deluser

禁用aa:usermod -L aa
启用aa:usermod -U aa
userdel aa
删aa家目录:rm -rf aa              (在家目录下)

连同家目录一起删:userdel  -r aa

把bb加入vv组:gpasswd -a bb vv
把bb退出vv组:gpasswd -d bb vv
改文件属主:chown aa 1    (aa为用户名,1为文件名)
改文件属组:chown :aa  1    或    chgrp   aa   1     (aa为属组)

改文件权限:chmod u+x 1        (1为文件名)

读:r    写:w    执行:x

属主: u    属组:g     其它:o   所有用户:a
 
为aa设置密码:

# passwd  aa
# 123  (密码)

 
查看shell:echo  $SHELL
 
查看历史命令:history

清除历史命令:history -c
 
查看命令别名:alias

命令别名:alias  m='mount /media/cdrom'

取消全部别名:unalias   -a

取消单个命令别名m:unalias  m
 
统计结果追加到123:  wc  <   /etc/passwd    >>  123

赋值:Day=sunday
取消赋值:unset Day
 

su普通用户需要进入/home下的同名文件夹下才能自由操作:

# su aa
# cd /home/aa
 
 
装telnet-server的rpm包,使之能远程登录

# rpm -ivh /media/cdrom/RedHat/RPMS/telnet-server + Tab键
 
查看服务是否开启:chkconfig --list telnet

开启服务:chkconfig  telnet on
 
动态获取ip地址: dhclient
 

在ftp中下载:mget prozilla-2.0.4.tar.gz
linux下上传到ftp:put prozilla-2.0.4.tar.gz
退出ftp:bye

开启httpd服务:service httpd start
 

查看端口号:netstat  -ntpl
 
强行卸载httpd的rpm包: rpm -e httpd --nodeps
 
批量创建目录: mkdir a_{1..100}
 
重启 : reboot
 
查看服务、进程: ps 、 top 、 pstree

后台执行: &

后台调为前台为:fg

查看:jobs  
 
查看时间、日期:date
 
查看at任务:atq

删除at任务1:atrm 1

查看周期任务:crontab -l

覆盖原有的周期任务:crontab

追加周期任务:crontab  -e

删除周期任务:crontab -r
 
退出任务:ctrl + D
 

普通用户查ip:/sbin/ifconfig

普通用户查路由:/sbin/route
 
查看传输路径(路由跟踪):traceroute
 
域名解析:nslookup
 

删默认网关:route del default gw 192.168.1.1  
 
添默认网关:route add default gw 192.168.1.1
 

换DNS服务器为1.1.1.1:

# nslookup
# server 1.1.1.1
 

 
切换用户:ctrl + alt + shift + f1...9
返回用户:alt + f7
复制目录: cp -r
删除目录: rm -r
扩大字号:ctrl + shift + "+"键
缩小字号:ctrl + "-"键
清屏:ctrl + L 或 clear
中断编辑(放弃):ctrl + c 
把home下的11文件复制到当前目录:cp /home/11  .
把111移动到home下并重命名为22:mv 111 /home/22
在根目录下创建/etc/passwd的快捷方式:ln /etc/passwd    /
反向过滤查看:grep -v
以~~开头:"^..."
以~~结尾:"...$"
查看所在路径:which
查看/boot下以vmlin开头的各文件所占空间大小:du -ah /boot/vmlin*
只统计所占空间总的大小:du -sh 
linux英文桌面改为中文:
在登录界面下有个Language - Chinese(simplified) - OK - 登录 - Just For This Session
改时间:date 051910302011                  (月/日/时/分/年)
 

清除历史命令:history -c
对文件或目录递归操作(继承权限):-R
查看隐藏文件:ls -a 
 
 
给组/用户设置set位:chmod g/u +/- s  
给组/用户设置粘滞位:chmod g/u +/- t

例: chmod 4777 11(文件)    设置set位
     chmod 1777 11          设置粘滞位
注:set位享有root的权限
    粘滞位对其他用户的文件无权限 

指定用户的UID号: -u
指定用户的宿主目录位置: -d
指定用户的账户失效时间:-e
指定用户的基本组名/也可指定组的GID号:-g
指定用户的附加组名:-G
指定用户的登录shell:-s
指定用户无宿主目录:-M

例:# useradd aa -d /etc/passwd -g bb -G cc -s ksh -e 2010-10-31 -u 200
修改用户属性:usermod
更改用户账号的登录名称:usermod -l
清空指定用户密码,仅用用户名即可登录:passwd -d 
查看用户账号状态(是否被锁定):passwd -s 
锁定用户:passwd -l
解锁用户:passwd -u
查看用户详细信息:finger -l + 用户名
查看用户的属组:groups + 用户名
对文件/目录设置递归权限:chmod -R + 权限 + 目录/文件
                       
ext3分区为83,swap分区为82,LVM分区为8e
"t"指令可以变更分区类型
"d"指令可以删分区
"e"指令添加扩展分区
"p"指令添加主分区
"l"指令添加逻辑分区
 
init进程:
0:关机
1:单用户模式,不需要密码验证即可登录,用于系统维护
2:字符界面的多用户模式(不支持网络)
3:字符界面的完整多用户模式
4:不用
5:图形界面的多用户
6:重启
 
追加周期性任务计划:
# crontab -e 
 10 08 *** date >> /22
 
chkconfig    + 服务名  on/off   对所有级别生效
静态查看进程:ps aux
动态查看进程:top
启动/关闭系统服务:ntsysv
 
踢黑客:pkill -q -U + 用户名
        userdel -r + 用户名
 
查看httpd服务的PID:pgrep httpd

用命令行关机:运行-- shutdown -h now
重启:运行 - shutdown -r now

周一到周五:0 17 * * 1-5
周一、三、五:30 8 * * 1,3,5
8点到18点每隔2个小时:0 8-18/2 * * *
每隔3天:0 * */3 * *

0 * */15 * *  /bin/rm -rf /var/ftp/pub/*               
50 7 * * *    /sbin/service   sshd start
注:要写全命令或服务的绝对路径,用which查

对用户制定周期计划:crontab -e -u aa 
查看bluetooth进程号:ps aux 1 grep bluetooth
以一定格式显示日期:date "%y-%M-%d-%H:%M"

建软连接(快捷方式):ln /usr/local/123.txt    /home
查找/etc下大于100k的文件:find /etc   -size  +100k

man ls 1 col -b > 123.txt

过滤掉注释行:grep  -v  "#"

查看磁盘空间(以兆为单位):free -m 
以冒号分隔显示1,6,7:head -l /etc/passwd | cut -d ":" - f 1,6,7
显示磁盘空间1,4字段:free -m | awk '{print $1,$4}'
显示当前登录用户:who
显示登录用户数:who | wc -l
显示进程数:ps | wc -l
显示当前时间、已运行时间、登录用户数及cpu负载:uptime
显示磁盘使用情况:df -hT
乘:"\*"
除:"/"
求余:"%"
运算:expr
例:expr 3 \* 5

交互式输出:read -p
去掉%:cut -d "%" 
到句尾:ctrl + e
例:df -hT | grep  /boot | awk '{print $6}' | cut -d "%" -f 1
 
提示用户输入一个整数,并与判断是否小于100
read -p " " MX
[ $MX -lt 100 ] && echo "YES"           (小于输出YES,不小于无输出)
 
查看当前登录用户:users
统计用户每天的连接(上机)时间:ac -d 用户名
分别统计各用户的总连接时间:ac -p 
 

指定ping的次数:-c
指定ping的大小:-s
查看所有网络接口的信息:ifconfig -a
查看路由:route   (-n)
查看系统中所有连接信息:netstat   -anptu
查看arp地址解析:arp -n
绑定arp地址解析:arp -s
删除arp地址解析:arp -d
 
 
添加默认网关:route add default gw 1.1.1.1
删除默认网关:route del default gw 1.1.1.1
添加到指定网段的路由记录:route add -net 172.16.0.0/16 gw 192.168.0.1
删除到指定网段的路由记录:route del -net 172.16.0.0/16
 

用源码包架构apache服务时,先关了(最好卸了)本机默认的httpd的rpm包
# service httpd stop
# rpm -e httpd-2.2.3-6.e15.i386.rpm      (先挂光盘进目录下)
 

限制用户密码的有效天数为30天:
# vi /etc/login.defs
 PASS_MAX_DAYS  30

# chage -M 30 用户名
 
指定用户下次登录时必须修改密码:
# chage -d 0 用户名

# vi  /etc/shadow
aa:$1$DDRWCQ.X$XKR44a4k7Wv5orwmhpctc.:0:0:30:7:::
 
限制用户密码最小长度约为6(minlen)

# vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12
 
限制记录命令历史条数为50:

# vi /etc/profile
HISTSIZE = 50
 

设置用户在注销(关机)后自动清空命令历史记录:

# echo "history -c" >> ~/.bash_logout
 

设置闲置超时自动注销终端(超时时间600秒):

# vi /etc/profile
export TMOUT=600
 

允许用户zhangsan通过su命令切换为root,其他用户不能:

# gpasswd -a zhangsan wheel(系统默认有)
# id zhangsan
# vi /etc/pam.d/su
auth  required  pam_wheel.so   use_uid
 
 
su - zhangsan    后当前目录为/home/zhangsan
su zhangsan     后当前目录为/root
 
 
通过挂载选项禁止执行set位程序,二进制程序
 

# vi /etc/fstab
/dev/sdb1       /var       ext3       defaults,noexec         1   2
# mount -o remount  /var
 

锁定不希望更改的系统文件:

# chattr +i  /etc/services    /etc/passwd     /boot/grub.conf
 
查看文件的属性状态:

# lsattr  /etc/passwd

解除锁定:

# chattr -i  /etc/passwd
 
 
禁止普通用户执行init.d目录中的脚本:

# chmod -R o-rwx     /etc/init.d

# chmod -R 750       /etc/init.d
 
 
防止用户通过ctrl + alt + delete 重启系统:

# vi  /etc/inttab
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now             (注释掉)

# init q                         (使以上设置立即生效)
 
 
 
禁止普通用户登录:

# touch /etc/nologin   
 
 

控制服务器开放的tty终端(init进程):

# vi  /etc/inittab
#4:2345:respawn:/sbin/mingetty   tty4
 

控制root登录的tty终端:

# vi  /etc/securetty
#tty2                                (注释掉)
 
 
更改系统登录提示,隐藏内核版本信息:

# vi /etc/issue                         (修改为以下内容)
welcome  to server
# cp -f /etc/issue    /etc/issue.net
 
 
禁止除了root以外的用户从tty1终端登录系统:

# vi /etc/pam.d/login
account required   pam_access.so
# vi /etc/security/access.conf
- : ALL EXCEPT root : tty1
 
 

禁止root用户从192.168.1.0/24,172.16.0.0/8网络中远程登录:

# vi /etc/pam.d/sshd
account  required   pam_access.so
# vi  /etc/security/access.conf
- : root : 192.168.1.0/24   172.16.0.0/8 
 
 

授权用户aa可以以root权限执行ifconfig命令:

# visudo
aa s2=/sbin/ifconfig
 
 

通过别名定义一组命令授权用户使用:

# visudo 
Cmnd_Alias  AA=/sbin/service,/sbin/*,/usr/sbin/*
aa    s2=AA         (AA为自定义的变量,最好大写)
 

授权用户aa可以修改用户密码,但不允许改root的

# visudo
Cmnd_Alias     BB=/usr/bin/passwd,!/usr/sbin/passwd    root
aa      s2=BB
 
 
授权用户aa登录时不需要密码验证:

aa  ALL=NOPASSWD;
 
 
 
开启路由转发功能:

# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1

# sysctl -p

在字符界面访问网站:alinks http://www.benet.com

 

linux挂载windows共享命令:

mount -o username=administrator,password=123456 //192.168.0.5/ming /mnt

 

查看linux系统是32位还是64位命令:arch   结果是i686则是32位,x86_64则是64位。

查看当前内核版本:uname -r
查看包括内核版本,机器硬件信息、网络节点名、操作系统名字等信息:uname -a 

本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/834580如需转载请自行联系原作者


yangzhimingg

相关文章
|
15天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
16天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
3天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
13天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
35 9
|
23小时前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
23小时前
|
Linux
【Linux】常用命令
【Linux】常用命令
5 0
|
1天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
4 0
Linux 网络操作命令Telnet
|
2天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
24 0
|
2天前
|
Linux 开发工具 数据安全/隐私保护
Linux(19)常用解压命令记录
Linux(19)常用解压命令记录
7 0
|
3天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
16 0