1)查看一个文件夹下有多少个文件

ls  *.*|wc –l

补充说明:

wc:

-l 统计行数

-w 统计单词数

-c 统计字节数

-m 统计字符数

2)统计一个文件的行数的命令(也就是可以统计一个项目的代码量)

wc -l 文件名,例如:

[root@Master java2cob]# wc -l java2cob.c

2053 java2cob.c

[root@Master java2cob]# wc -l *.c *.h

2053 java2cob.c   126 vmjava1.c   150 vmjava2.c    58 java2cob.h    26 messageeuc.h    26 messagesjis.h    26 messageus.h    29 messageutf8.h

2494 total

3)设置环境变量

export 环境变量名=“环境变量路径”

4)删除环境变量

unset 环境变量名

5)查看进程

ps –ef |grep

6)查看默认的线程栈大小

ulimit lu

7)通过编辑/etc/sysctl.conf文件可以修改以下参数

ernel.printk_ratelimit = 5

kernel.panic_on_oops = 1

kernel.pid_max = 360

kernel.sercons_esc = -1

kernel.overflowgid = 65534

kernel.overflowuid = 65534

kernel.pty.nr = 1

kernel.pty.max = 4096

kernel.random.uuid = 872329aa-2624-4fa4-941e-96148e6084f9

kernel.random.boot_id = c00708b8-abb1-46b4-9190-325b4e68da94

kernel.random.write_wakeup_threshold = 128

kernel.random.read_wakeup_threshold = 64

kernel.random.entropy_avail = 3616

sysctl –p命令重新加载sysctl.conf并立即使之生效。

8)显示系统下所有的用户组的命令

Groups

9)添加用户组的命令

groupadd 组名

10)查看OS的位数

Solaris 系统:isainfo –b

Linux 系统 :uname –m (查看系统位数)     uname -a (查看系统位数及版本信息)

11)动态查看不断更新的文件内容

tail –f 文件名

12)打包文件的命令

tar –cvf 打包后包名 要打包的文件

13)查看内核版本: uname -a

more /etc/*release

more /etc/redhat-release

more /proc/version

查看CPU的信息:grep "model name" /proc/cpuinfo

more /proc/cpuinfo

查看CPU位数:getconf LONG_BIT

ls   如果在root下ls有lib64 文件夹说明系统64

查看libc、gcc版本:ldd /sbin/mii-tool

rpm -qa | grep glibc

gcc -v

查看内存信息:more /proc/meminfo

grep MemTotal /proc/meminfo

查询系统版本 : lsb_release -a

查看系统默认的locale:cat /etc/locale.conf 或者cat /etc/sysconfig/i18n

查看linux系统下路径名和文件名最大长度

由于文件名和路径名限制实际上是有文件系统有关系的,所以要用pathconf函数。

或者用getconf命令. 比如: $ getconf PATH_MAX /usr 1024 $ getconf NAME_MAX /usr 255 $

14)在修改查看文件时,用VI打开后显示行数

:set nu

15)按时间顺序显示列表

ls –lt

16)查找命令,在某个路径下找出含有某个名字的文件

find /var/opt/FSUNtd -name *core* -print

find . –name *.txt     在当前目录查找txt文件

find / -mount -name test -print (指定-mount选项,不要搜索挂载的其他文件系统的目录)

find . -newer while2 -print (在当前目录下搜索比文件while2更新的文件)

find . -newer while2 -type f -print (在当前目录下搜索比文件while2更新的文件,-type f指只显示文件,不显示目录)

find . –mtime -3       查找更新时间3天之内的文件

find /etc –type l        查找链接类型的文件

find . -size +1000000c  查找大于1M字节的文件

17)grep命令

在文本文件中寻找特定字符串,并将所有出现该字符串的行打印

grep abc file

grep “this is a book” file

ps –ef | grep inetd

grep -i  root /etc/passwd    //忽略大小写

grep -v root /etc/passwd    //显示除了含有root的行

grep e$ words2.txt   查找以字母e结尾的行

grep a[[:blank:]] words2.txt  查找以字母a结尾的单词

grep Th.[[:space:]] words2.txt  查找以Th开头的由3个字母组成的单词

grep -E [a-z]{10} words2.txt 查找只有10个字符长的全部由小写字母组成的单词

另外还有类似的两个命令fgrep和egrep

18)用户管理

增加用户:

useradd [-c] [-d] [-g] [-m] [-s] username

-c           表示注释

-d          表示家目录

-g           表示属于哪个用户组

-m          表示若家目录不存在,则自动创建

-s                          表示该用户使用的shell

username  用户名

例如:useradd -d /home/imsuser -g imsgroup -m -s /bin/sh imsuser

删除用户:userdel username

修改用户:usermod options username

修改密码:passwd [username]

增加用户组:groupadd

删除用户组:groupdel

切换用户(su:switch user):su  - username

查看登录用户:who

19)进程管理

查询进程运行状况:ps

ps -e      列出现在正在运行的进程

ps -f       列出进程的详细信息

ps -u db2inst1     列出db2inst1用户的进程

ps -l      显示进程最详细的信息

信息解释:

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

0 S     0 19773 19762  0  76   0 -   508 consta pts/4    00:00:00 login

0 S     0 19794 19773  0  75   0 -   685 consta pts/4    00:00:00 sh

0 R     0 32133 19794  0  78   0 -   890 -      pts/4    00:00:00 ps

例如:

ps -ef |grep inetd

F表示当前进程的状态是16进制的

S:进程的状态,他的值有如下解释

O--正在运行的一个进程

S--休眠进程、等待事件唤醒

R--在进程队列中的进程,等待系统分配资源

Z--僵死进程,进程已经结束,父进程不在等待,但是僵死进程还在进程表中。

T--停止的进程

UID:进程属主ID,root用户的ID是0

PID:进程ID

PPID:Parent PID

C:CPU占有的百分比,0~100来表示

PRI:进程优先级,值越高,优先级越低

NI:优先级

ADDR:进程在内存中的地址

SZ:进程占用的内存大小

WCHAN:处理休眠事件的内存地址

TTY:启动进程的终端、如果TTY是“?”则表示进程是系统级的进程

STIME:进程启动时间

CMD:产生进程的命令,或父进程的命令

20)列出所有信号值:kill –l

21)vmstat:查看内存状态

22)id: 查看当前用户的id

who am i:查看当前用户

dmesg:从错误记录中收集诊断信息

23) chown

使用:chown  [-R]  owner:[group]   文件...

chown   mary  file   将文件 file  的文件主改为 mary

chown   150   file           将文件 file 的UID改为150

chown   dualbase:informix  tdfs  将tdfs文件修改为dualbase用户,informix用户组

24)ldd命令

1)作用:用来查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题。它是glibc的一部分,由Roland McGrath和Ulrich Drepper维护:

ldd --version

2)ldd本身不是一个程序,而仅是一个shell脚本:

$ which ldd

/usr/bin/ldd

$ file /usr/bin/ldd

/usr/bin/ldd: Bourne-Again shell script text executable

3)ldd命令其实是依靠设置一些环境变量而实现的(也就是说ldd的作用只是设置一些环境变量的值)

如:LD_TRACE_LOADED_OBJECTS

只要设置其值非空即可。

$ export LD_TRACE_LOADED_OBJECTS=1

$ ls /usr

linux-gate.so.1 =>  (0xb7fac000)

librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7f93000)

libselinux.so.1 => /lib/libselinux.so.1 (0xb7f79000)

libacl.so.1 => /lib/libacl.so.1 (0xb7f70000)

libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e0d000)

libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7df4000)

/lib/ld-linux.so.2 (0xb7fad000)

libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7df0000)

libattr.so.1 => /lib/libattr.so.1 (0xb7dea000)

撤销该环境变量,ls即又可以恢复正常使用:

$ unset LD_TRACE_LOADED_OBJECTS

$ ls  /usr/

bin  games  include  lib  lib32  lib64  local  sbin  share  src  X11R6

更多的环境变量:

1、LD_TRACE_LOADED_OBJECTS

2、LD_WARN

3、LD_BIND_NOW

4、LD_LIBRARY_VERSION

5、LD_VERBOSE

6、LD_DEBUG

ldd默认开启的环境变量是:LD_TRACE_LOADED_OBJECTS=1

其他的变量(和值)分别对应一些选项:

-d, --data-relocs -> LD_WARN=yes

-r, --function-relocs ->LD_WARN和LD_BIND_NOW=yes

-u, --unused -> LD_DEBUG="unused"

-v, --verbose -> LD_VERBOSE=yes

LD_TRACE_LOADED_OBJECTS为必要环境变量,其他视具体情况。

更为详细的命令选项(或者参看man、info):

$ ldd --help

25)dos下查看命令的返回值

echo %errorlevel%

linux下是:echo $?

26)查看一个文件的编码格式

file 文件名

例如:

[root@Master mk3]# file J3BASP01.ans

J3BASP01.ans: ASCII text

27)安装语言包命令localedef

比如要安装zh_CN.GBK,可以执行下面的命令:

sudo localedef  -f GBK -i zh_CN zh_CN.GBK

要安装ja_JP.PCK,可以执行下面的命令:

sudo localedef  -f PCK -i ja_JP ja_JP.PCK

28)tee命令

可以将通过管道的数据流截获并放进某个文件,也就是将中间结果保存到一个文件中去

$(date; who) | tee save |wc

29)sort 命令

# ls | sort -f   按字母表的顺序将文件名排序

30)sed命令

sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

调用sed命令的两种形式:

sed [options] 'command'file(s)

sed [options] -f scriptfile file(s)

举例如下:

sed -n '/test/,/check/p'example-----所有在模板test和check所确定的范围内的行都被打印

sed -n '5,/^test/p'example-----打印从第五行开始到第一个包含以test开始的行之间的所有行。

sed '/test/,/check/s/$/sed test/'example-----对于模板test和west之间的行,每行的末尾用字符串sed test替换。

sed -e '1,5d'-e's/test/check/'example-----(-e)选项允许在同一行里执行多条命令。如例子所示,第一条命令删除1至5行,第二条命令用check替换test。命令的执 行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。

sed -e "s/#LOCAL#/UCS2BE /" c_base/${P}.c |

iconv -f eucJP -t UTF-8 | sed -f UTF8.scr >${P}.c

这个命令是将文件 c_base/${P}.c中的每一行#LOCAL#用UCS2BE替换,然后将其进行编码转换(由eucJP格式转化为UTF-8)

然后使用sed脚本UTF8.scr,按照里面的命令要求将进行编码转换后的文件再进行过滤

Linux命令把共享库export,实用linux命令相关推荐

  1. Linux命令把共享库export,Linux Linux共享库

    so文件在linux中为共享库,与windows下的dll类似. so文件中的函数可供多个进程调用,最大可能的提供二进制代码复用. 共享库可以使代码的维护工作大大简化,当修正了一些错误或者添加了新特性 ...

  2. linux如何确定共享库路径,摘录Linux下动态共享库加载时的搜索路径详解

    对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error while loading shared libraries"这样的错误,这是典型的因为需要的动态库不在动态链接器 ...

  3. linux 动态解析,Linux 动态函式库解析[转]Linux -电脑资料

    在本文的这个部分,针对 Linux 系统是如何来辨别这些不同的可执行档,以及整体的执行流程来作一个说明, ByWing 程序启动的流程 在 linux 的环境中最常见的可执行档的种类包括了 Scrip ...

  4. Linux下动态共享库加载时的搜索路径详解

    对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error while loading shared libraries"这样的错误,这是典型的因为需要的动态库不在动态链接器 ...

  5. linux共享库的运行方式,Linux下动态共享库加载及使用详解

    对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error while loading shared libraries"这样的错误,这是典型的因为需要的动态库不在动态链接器 ...

  6. Linux下动态共享库加载及使用详解

    转载;http://blog.chinaunix.net/uid-29025972-id-3855500.html 对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error whil ...

  7. linux下的共享库(动态库)和静态库

    1.什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的本质不同,因此二者库的二进 ...

  8. linux+查看磁带信息,15 条实用 Linux/Unix 磁带管理命令

    导读 磁带设备应只用于定期的文件归档或将数据从一台服务器传送至另一台.通常磁带设备与 Unix 机器连接,用 mt 或 mtx 控制.强烈建议您将所有的数据同时备份到磁盘(也许是云中)和磁带设备中. ...

  9. Linux共享库编程方法,Linux共享库c

    我有一个明智的共享图书馆.我如何在我的程序中使用它?我是否需要包含该库的标题? 我在Linux下使用Eclipce.我使用-L和-l设置了库的路径.但我的功能在程序中不可见. 你能解释一下共享图书馆是 ...

最新文章

  1. 面部识别技术走到十字路口?
  2. 【STM32 .Net MF开发板学习-25】LED数码管显示
  3. 看看数据科学家们都在用什么:Github上的十大深度学习项目
  4. 蓝桥杯基础练习--杨辉三角
  5. 新概念一册电子书课本_新概念英语第二册完整版:音频+动画视频+课本图文讲解...
  6. 中国智能控制器行业运营分析与竞争趋势展望报告2022-2027年版
  7. 错误请联系管理员文件 index.php,帝国CMS订单、反馈信息、投稿与留言发邮件通知管理员的方法...
  8. 怎么知道eclipse的workspace的路径
  9. rails常用验证方法 (转)
  10. 1512. 好数对的数目
  11. -stdcall详解
  12. 计算机网络专业怎么厉害,面试自我介绍:计算机网络专业
  13. java实现猜你喜欢_猜你喜欢实现原理:电商“猜你喜欢“是怎么实现的?
  14. keil 增加 芯片包_国内首家!平头哥刚刚宣布开源RISCV内核MCU芯片设计平台
  15. flask 返回图片
  16. 【技术分享】一:搜索排序—概述
  17. 【面试系列】计算机网络常见面试题(一)
  18. 计算/感知/认知智能的研究现状
  19. Vue加载cesium指南针插件cesium-navigation
  20. 哥特巴赫猜想 尾递归 湘潭孕妇之后的自我检讨

热门文章

  1. 8万Star,这个开源项目有点强
  2. 【算法】Marching Cubes
  3. Android自定义View之Layout内部布局自定义
  4. 视觉SLAM从传统到语义方法的概述
  5. webmagic ajax,webmagic爬虫对静态页面,动态页面及js请求方式爬取的处理
  6. GYP使用总结 ---- 从Makefile到GYP
  7. 分辨率与超分辨率图像重建
  8. EAI Dashgo D1环境搭建/键盘控制/rplidar a1 a2建图导航详细教程
  9. Python安装过程中提示:No Python 3.8 installation was detected;0x80070643严重错误 - 解决方法
  10. RRD起步1——通过例子理解RRD(译)